zoukankan      html  css  js  c++  java
  • Java的三大特性

    一、封装性

      含义:对外不可见,保护属性和方法不被外部多看见

      实现:通过关键字private声明,用get、set方法为外部访问。

      引用的传递:

        static关键字:修饰属性(全局属性);修饰方法(直接通过类名调用)

        static方法中只能访问static声明的属性和方法。

        可以实例化之前就用static:  Person.setName("name");//静态方法  Person p = new Person();

        this关键字:表示类中的属性和方法;调用本类中的构造方法;表示当前对象。

          public People(){ this();//调用默认无参的构造方法必须首行   this.name = name; this.age = age;}

        内部类:对象只用一次  垃圾自动回收 new Person().tell();

    二、继承性

      含义:扩展类的功能

      实现:通过关键字extends。限制:只允许单继承。

      继承过程构造方法调用顺序:实例化子类对象-》先调用父类构造方法-》再调用子类构造方法

      方法的重写:子类重写父类方法   

            子类.方法()只会执行子类的内容

            子类.方法(){super.方法()}强制执行走父类的方法+子类的其他

            被子类重写的方法不能拥有比父类更加严格的访问权限

            访问权限:private<default<public(私有、同一个包下、整个工程下) 

      抽象类:

        抽象类:包含一个抽象方法的类就是抽象类

        抽象方法:声明并未被实现的方法,使用关键字abstract声明

        abstract class className{属性;方法;抽象方法}

        抽象类不能被实例化,要通过其子类进行实例化。(必须实现所有的抽象方法)

      接口:

        接口:是一种特殊的类,里面全部由全局变量和公共的抽象方法所组成。

        interface interfaceName{全局常量(public static final name);抽象方法(public abstract void name())}

        接口的实现必须是通过子类,使用implements,而且接口是可以多实现的。(必须实现所有的抽象方法)

      一个类可以同时继承抽象类和接口。

      一个接口不能继承一个抽象类,但是可以通过extends关键字同时继承多个接口。(interface Intent3 extends Intent1,Intent2{})

      final关键字:

        被称为完结器,表示最终的意思。能声明类、方法、属性。

        使用final声明的类不能被继承;使用final声明的方法不能被重写;使用final声明的常量不能被修改(name大写)。

         

      

    三、多态性

      含义:方法的重载,对象的多态性。

      向上转型  程序自动完成     父类  父类对象 = 子类示例    (父类.方法()调用子类复写的方法)

      向下转型  强制类型转换     子类  子类对象 = (子类)父类示例   (先向上再向下)

      class A {tell1()}

      class B extends A {tell2()}

      class C extends A {tell3()}

      say(new B());  say(new C());  

      say(A a){a.tell1()}

      instanceof关键字:判断一个对象到底是不是一个类的实例。

        A a = new B();     a instanceof A  true;   a instanceof B  true;

      方法的重载:

        含义:方法名相同。但是参数类型和个数不同。来完成不同的功能。

      递归调用:自己调自己。得有出口。。。

        

  • 相关阅读:
    小透明学弟的华为上岸之路
    手把手体验远程开发,确实爽
    老弟做了个网盘,炸了!
    聊聊我在腾讯和字节工作感受
    2021,编程语言如何选择?
    优化了破网站的搜索功能
    15 道超经典大厂 Java 面试题!重中之重
    我两年的坚持,值了!
    聊聊百度搜索背后的故事
    struts2的配置步骤
  • 原文地址:https://www.cnblogs.com/hzwcoming/p/4630772.html
Copyright © 2011-2022 走看看