java整理四---对象

对象

面向对象编程本质:以;类的方式组织代码,以对象的形式组织(封装)数据

面向对象三大特性:封装 继承 多态

 

类和对象的关系:

1.类是一种抽象的数据类型,它是对某一类事务整体描述/定义,但是并不能代表某一个具体的事物

2.对象是抽象概念的具体实例

 

构造器:

也叫构造方法

注意:

一个类即使什么都不写,也会存在一个构造方法,一旦定义了有参构造,无参就必须显示定义

 

作用:

1.用来初始化值

2.使用new关键字,本质是在调用构造器

 

构造器特点:

1.必须和类的名字相同

2.必须没有返回类型,也不能写void

 

 

 

创建对象内存分析

 

 

 

 

 

 

小结

 

 

 

 

封装

1.提高程序的安全性,保护数据

2.隐藏代码的实现细节

3.统一接口

3.系统的可维护性增加了

 

继承    (可以ctrl + h 查看继承关系)

1.子类继承了父类,就会拥有父类的全部方法

2.Java中,所有的类都默认直接或间接继承Object

3.Java中只有单继承(一个子类只能有一个父类,一个父类可以有多个子类)

 

super

1.隐藏代码:子类会默认调用父类的无参构造(不会默认调用有参构造)

2.调用父类的构造器,必须要在子类构造器的第一行,不然会报错 (且 this(); 和super();只能选一个,因为两个都只能在第一行才不报错)

 

 

重写:  (需要有继承关系,子类重写父类的方法,只能是非静态方法)

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大但不能缩小   public>Protected>Default>private

4.抛出的异常:范围可以被缩小,不能扩大  ps: Exception> ClassNotFoundException

重写,子类的方法和父类必要一致:方法体不同!

为什么需要重写:

1.父类的功能,子类不一定需要,或者不一定满足

 

 

多态

 注意事项:

1.多态是方法的多态,属性没有多态

2.父类和子类需要有联系  否者会转换异常(ClassCastException)

3.存在条件:继承关系,方法需要重写,父类引用子类对象! Father f1 = new Son();

不能被重写的;

1.static  方法,属于类,它不属于实例

2.final 常量;

3.private  方法;

 

instanceof :

判断前面的对象是否属于后面的类,或者属于其子父类

前提保证:instanceof前面引用变量编译的类型要么与后面的类型相等,要么与后面的类型具有父子继承关系,不然编译不通过,报错无法比较(连false也无法得出)

 

 

static内的代码块只会被执行一次,且优先于构造方法执行

 

abstrac;

1.不能new这个抽象类,只能靠子类去实现(我尝试在new的时候要求我重写代码);约束(抽象的抽象)

2.抽象类中可以写普通的方法

3.抽象方法必须在抽象类中

 

interface  接口

作用:

1.约束

2.定义一些方法,让不同的人实现

3.public abstract   方法

4.public static final  常量

5.接口不能被实例化,接口中没有构造方法

6.implements可以实现多个

 

posted @ 2022-06-09 20:57  蜗牛+1  阅读(30)  评论(0编辑  收藏  举报