下面让我们继续学习面向对象
类的继承
在现有类的基础上去构建一个新的类。现有类叫做基类(baseclass)、超类(superclass)
新的类叫做派生类(derived class)、子类(孩子类)(child class)
如果一个类想要继承另外一个类,需要用到extends关键字。
class基类{
}
class 子类extends基类{
}
关于继承有以下注意事项:
1.一个类只能继承一个基类,不能继承多个。
2.不同的类可以继承同一个基类
3.在子类中的重写方法:
和基类被重写的方法有同样的方法名、参数列表和返回值类型
子类重写方法的访问权限不能比基类更严格
super 关键字
当基类的方法被子类重写后,子类对象将无法访问基类中被重写的方法。但是使用super关键字可以在子类中调用基类的普通属性、方法和构造方法。
语法格式:
super.成员变量
super.成员方法(参数1,参数2)
注意事项:
1.通过super调用基类构造方法的代码必需位于子类构造方法的第一行,并且只能出现一次
2.需要注意,this和super不能同时出现,因为它们都需要位于构造方法的第一行
Final关键字
可以使用final关键字,声明类、属性、方法,声明时有以下注意事项
1.使用final修饰的类不能有子类
2.使用final修饰的方法不能被子类重写
3.使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改
4.使用final声明的变量需要全部大写,如果变量中使用public static final声明,该变量将变成全局常量
抽象类和接口
抽象类
在定义类的时候,成员方法需要描述类的行为特征,但是有些特征是不同的,无法被统一确定。
这种情况,Java提供了抽象方法来满足需求。抽象方法是被abstract关键字修饰的成员方法,
抽象方法的格式: abstract 返回值类型 方法名称(参数);
只有在抽象类中才能有抽象方法,
抽象类的定义格式: abstract class 抽象类名称{
属性;
访问权限 返回值类型 方法名称(参数) //普通方法
Return[返回值];
}
返回权限 abstract 返回值类型 抽象方法名称(参数); //抽象方法,无方法体
}
抽象类的定义的注意事项:
1.有抽象方法的类必须是抽象类
2.抽象类与抽象方法都需要abstract关键字声明
3.抽象方法只需要声明不需要实现
4.一个非抽象类继承了抽象类,该子类必须实现抽象类中的全部抽象方法
5.使用abstract关键字修饰的抽象方法不能使用private修饰,因为抽象方法必须被子类实现,privat不能被子类访问。
接口
定义:一个抽象类中的方法都是抽象的,则该类被定义为接口。在JDK8中接口除了有抽象方法以外,还可以包括默认方法(使用default修饰)和静态方法(使用static修饰,也叫类方法)。
接口使用interface关键字声明
语法格式: public interface接口名 extends 接口1,接口2...{
public static final 数据结构 常量名 = 常量值;
public abstract 返回值类型 抽象方法名称(参数值类型);
}
:一个接口可以继承多个基接口,突破了单继承的限制。接口中的变量使用public static final 进行修饰(全局变量)
注意:即使代码中省略了public,他的访问权限仍是public
接口中可以包含三种方法:默认方法、静态方法、抽象方法,静态方法可以通过 接口名.方法名 进行调用,而默认方法和抽象方法需要通过接口实现类的对象进行调用。
接口实现类格式:首先定义一个类,该类使用implements关键字实现接口,同时也实现接口中的全部抽象方法。
接口的实现类 语法格式: 修饰符 class 类名 implements 接口1,接口2,…{…
}
如果一个类中需要实现接口以及继承基类
语法格式:修饰符 class 类名 extends 基类名 implements 接口1,接口2,…{
…
}
了解一个关键字:instanceof关键字
用于判断一个对象是否是某个类(或接口)的实例,
语法格式:对象 instanceof 类(或接口)
如果对象是该类(或接口)的实例对象,则返回true,否则返回false。
Object类
Java提供了一个object类,它是所有类的基类,每个类都直接或间接的继承object类,因此被称为超类。
Object类中定义了一些方法: boolean equals() 判断两个对象是否相等
int hashcode() 返回对象的散列码值
String tostring 返回对象的字符串表示形式
标签:Java,关键字,接口,面向对象,抽象,基类,抽象类,方法 From: https://blog.csdn.net/2401_84968533/article/details/143817502