面向对象 中

封装:封装的体现,需要权限修饰符来配合。
private:类内部
默认:类内部、同一个包
protected:类内部、同一个包、不同包的子类
public:类内部、同一个包、不同包的子类、同一个项目

 

构造器

构造器:用来创建对象,初始化对象的属性。
属性的赋值先后顺序:默认初始化、显示初始化、构造器初始化、对象.方法赋值。

 

this:表示当前对象。如果方法的形参和类的属性同名时,用this来区分类的属性和形参。

 

继承

继承性:减少了代码的冗余,提高了代码的复用性
方便了功能的扩展
为之后的多态使用提供了前提
单一继承性,一个类只有一个父类。
子类可以获取父类的private修饰的方法和属性(反射)

 

重写

重写:子类对父类的方法进行覆盖,通过重写后,子类对象调用父类的方法时,实际执行的是子类方法。

 

super:和this一样,只不过是修饰父类的属性方法等。

 

子类对象实例化的过程:创建子类对象实例时,子类构造器会隐式的调用父类的构造器,直到调用到Object类的空参构造器为止。但是自始至终就创建过一个对象。

 

多态

多态性:是运行时行为,在编译期间看到的是父类的方法,运行时是执行的是子类重写的方法。即编译看左边,运行看右边。
编译时父类调用子类的独有方法,需要强制类型转换,在转换前用instanceof判断类型。
父类->子类(向下转型,强制类型转换)
子类->父类(向上转型,多态)

 

object:是所有类的根父类。

 

 

包装类:基本数据类型到引用数据类型的转换。
自动装箱与自动拆箱:引用类型和基本数据类型可以直接赋值。

 

 

static

修饰的是共享变量,创建多个对象,通过对象修改静态变量会导致其他对象调用此静态变量是修改过的。
静态变量是随着类的加载而加载,静态变量只存在一份,存在方法区中的静态域中
修饰方法,修饰的方法只能调用静态的方法或属性。

 

单例模式

饿汉式(线程安全的,对象加载时间过长):在private静态变量中创建对象,在public static修饰的方法中返回该静态变量。
懒汉式(延迟对象的创建):在public static 修饰的方法中返回创建的对象。

 

代码块
初始化类的信息,静态代码块只会加载一次,内部只能调用静态的属性和方法。
非静态的:每创建一次就会执行一次。

 

类的加载顺序

父类静态代码块、子类静态代码块、父类代码块、父类无参构造器、子类代码块、子类无参构造器
如果是有参构造器,父类的不会调用

posted @ 2023-02-08 21:47  sugarstar  阅读(42)  评论(0)    收藏  举报