面向对象(继承.覆盖)的理解

it2023-10-10  70

this关键字的作用

this指的就是当前调用的对象 this.变量名,可以解决局部变量和成员变量的二义性,this可以代表成员变量

为成员变量设置值, 构造器和setter方法的选择

构造器可以自定义内容设值,但是只能用一次 setter方法可以使用多次

为什么需要继承?

节省代码量,方便维护 java支持单继承,不支持多继承,但是可以多重继承

Java中的继承语法

子类 extends 父类

子类能从父类中继承到哪些成员?

可以继承有public和protected的成员变量 可以继承父类的成员方法 使用private的不能继承

子类什么时候需要覆盖父类中的方法?

子类不想拥有父类的方法,或者子类拥有自己独特的方法时候,可以对父类方法进行覆盖,比如鸟类,鸵鸟不会飞

super关键字的作用

当子类覆盖父类,想访问,调用父类的方法,可以使用super关键字

什么时候需要把父类中的方法定义成抽象方法?

要求子类使用父类定义的方法格式abstract ,使用抽象方法没有方法体,留给子类自己去定义 子类必须要覆盖父类的抽象方法

抽象类应该怎么使用?可以直接使用抽象类创建对象吗?

抽象类不可以创建对象,使用abstract修饰的类,成为抽象类,抽象类可以同时拥有普通方法和抽象方法,要有子类才有意义 子类必须要覆盖父类的抽象方法

Object中的toString()的作用?实际开发中如何使用?

官方定义的toString()就是打印一串字符串,实际开发中我们可以对方法进行覆盖,也可以进行打印

Object中的equals()和==的区别?实际开发中如何使用?

equals()和== 都是用来比较地址值 ==在基本数据类型中比较的值 在引用数据类型中比较的是地址值
最新回复(0)