- instanceof:判断两个类之间是否存在父子关系;左边是对象,右边是类,当对象是右边类或子类或父类或父类的父类创建的对象时,返回true;
- 类型转换:低转高:不需要强制类型转换;高转低:类型 标识符 = (类型)变量名;子类转化为父类可能丢失自己本来的一些方法->Person person = student;
or
- static关键字
- 静态属性:无法通过类调用非静态属性
- 静态方法:非静态方法可以直接调用静态方法,静态方法也可以直接调用静态方法,但不能直接调用非静态方法,需要先new一个对象,原因是static修饰的的方法和类一起加载;
- 代码块:匿名代码块:创建对象时自动创建在构造器之前;静态代码块:类一旦加载直接执行
4.静态导入包:使方法不必加 \"类.\" ,可以被直接调用
final:被final修饰后不会有子类
- 抽象类:提高开发效率,可扩展性提高;abstract可以用来修饰类或方法;抽象类的所有方法由子类必须帮助其实现,除非子类也是抽象类
- 抽象类无法new,只能靠子类实现,只是一个约束
- 抽象方法存在的类必须是抽象类
- 思考题:是否存在构造器;抽象类存在的意义是什么;
exstends单继承,Java中类无多继承
- 接口:接口的本质是契约,可以多继承;定义关键字:interface;接口中的方法默认为public abstract,常量默认为public static final;接口都需要实现类
- 类实现接口:类名 implements 接口(可以是多个接口,侧面实现多继承)
- 作用:
- 约束
- 定义一些方法,不同实现方式·
- 接口不能实例化,因为接口中没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法
- 内部类
- 获得外部类的的私有属性或私有方法
- 静态内部类无法访问非静态属性
- 一个文件只能有一个public类,但是可以有多个class类
- 局部内部类:定义在方法中的类
- 匿名对象类:没有名字初始化类,不用将实例保存到变量中-new Apple().eat();
来源:https://www.cnblogs.com/yangyangyuyangzhuo/p/15981902.html
本站部分图文来源于网络,如有侵权请联系删除。