封装:隐藏内部细节,显示外部接口。1.将类的某些信息隐藏在内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对信息的操作和访问 2.把尽可能多的东西藏起来,对外提供便捷的接口
继承:java支持单继承,即一个子类只能有一个父类。继承的关键字extends。
1.访问父类的构造方法用super(),在子类构造中调用必须是第一句。
2.不可以访问父类中定义为private的属性和方法。
3.子类没有调用父类的有参构造方法,默认调用父类的无参构造方法。
4.子类无法继承父类的构造方法
多态:多态是具有表现多种形态的能力和各种特征。同一个实现接口,使用不同的实例而执行不同的操作。
实现多态的三个条件:
1.必须是继承关系
2.子类重写父类的方法
3.父类引用变量指向子类对象
抽象类:public abstract void show(){};不要忘记后面分号
1.抽象类和方法都通过abstract关键字来实现
2.抽象类不能被实例化,抽象类中可以没有、一个或多个抽象方法。可以有普通方法
3.抽象方法只有方法声明,没有方法实现,有抽象方法的类必须是抽象类,子类必须重写所有的抽象方法才能被实例化。
4.abstract可以修饰方法和类,不能修饰属性和构造方法
5.抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,构造方法不是被private修饰的,也可以被是子类的构造方法调用
final修饰符:
1.用final修饰的类不能被继承,
2.用final修饰的方法不能 被重写
3.用final修饰的变量(包括成员变量和局部变量)将变成常量,且只能赋值一次
4.final和abstract是功能相反的两个关键字
5.abstract可以用来修饰类和方法,不可以修饰构造方法和属性,final可以修饰类、属性和方法,不能用来修饰构造方法
6.用final修饰的引用型变量时,变量值是不变的,属性是可以变得
7.abstract不能和private修饰同一个方法,abstract不能和static修饰同一个方法,abstract不能和final修饰同一个方法
static修饰符:
1.static修饰成员变量,可以直接通过类名访问。在内存中仅有一个拷贝
2.static修饰方法,可以直接通过类名方法
3.就写static{}代码块时为静态代码块,当java虚拟机加载类时,就会执行该代码块,如果有多个静态代码块,按顺序加载,每个静态代码块只会执行一次
4.没有被static修饰的变量,每创建一个实例,就会为实例变量分配一次内存,变量可以再内存中有多个拷贝,互不影响。
原文:https://www.cnblogs.com/zhangfangming/p/14457124.html