易混淆知识点积累:
1、重载与覆写
重载:同一个类中方法名相同,参数类型和个数都不相同;(参数个数升序或降序)
覆写:extends继承某一个类之后,方法名,参数类型和个数都相同。(严格的访问权限)
2、抽象类与接口
抽象类:抽象方法和普通类,拥有各种权限,extends继承父类,一对多接口,一对一抽象类;(abstruct)
接口:抽象方法和全局变量,public 权限,implements实现接口,一对多接口,不能继承抽象类,但可以使用extends关键字继承多个父接口。(interface)
3、向上转型和向下转型
向上转型:可以使操作参数统一,核心在于用的是哪个类(new 哪个类),调用方法是否覆写。
person per=new student;
per.print();
向下转型:父类需要子类扩充操作时,首先使用instanceof判断,在进行操作。(必须直系)
person per=new student;
if(per instanceof student){
student stu=(student) per;
stu.fun();
}
4、代码块执行顺序
主类静态块>main方法>非主类静态块>构造块>普通代码块
5、JAVA的三大特征:封装、继承、多态
6、this 表当前对象,本类属性,本类方法。
7、static 属性使属性保存在全局数据内存中,所有对象都可调用;static方法 直接通过类名访问,static不允许访问非static,但非static允许访问static。
8、final 关键字,修饰的类不能有子类,方法不能被覆写;修饰的变量变为常量,即声明时被赋值,并且不能修改。
9、内部类:
外部类.内部类 内部类对象= new 外部类().new 内部类();
内部类只想被外部类使用时,加private关键字;
进行属性访问时,加this关键字。
10、JAVA基础要求的三种设计模式:
工厂:引入Foctory第三方进行解耦,使得程序的修改不影响客户端。
代理:两个子类共同实现一个接口,其中一个子类负责真实业务,另一个子类负责辅助业务。
单例:一个类只允许生产一个实例化对象。