2022-07-21第一小组 孔海波 学习笔记
今日学习情况:掌握
心情:80%
今天学习了继承相关内容,此外通过案例我对this的使用方法更加的熟悉了。
Java基础
——继承
继承概述
继承是面向对象中的三大特征之一,Java中可以继承父类的属性和方法。使用方法是在声明类的时候在类名的后面加上extends
关键字,随后在后面加上被继承的类名,我们来看个例子。
class Animal {
String animalName;
public void eat(){
System.out.println("我是父类的方法")
}
}
class Dog extends Animal{
String dogName;
public void drink(){
System.out.println("我是子类的方法")
}
}
这里的Dog类就是继承于Animal类,我们在实例化Dog对象后可以通过对象访问animalName属性,虽然我们没有在子类中定义这个属性,但是由于Dog类继承与Animal类,所以也继承了Animal属性,方法也是相同的道理,我们可以通过Dog的对象使用eat()方法。
方法的重写
当我们继承到父类的方法后如果在子类中需要使用到父类的方法,但是又有额外的需求时我们就会用到的方法的重写,方法的重写有以下几点规则:
1.重写方法的权限不能低于被重写的方法//开发时一般都是等于
2.返回值类型必须相同(如果不相同也可以返回他的子类)//开发时一般都是等于
3.参数列表必须相同
4.方法名必须相同
5.不能抛出的异常比被父类的异常大
我们举个例子
class Animal {
String animalName;
public void eat(){
System.out.println("我是父类的方法")
}
}
class Dog extends Animal{
String dogName;
public void eat(){
System.out.println("我是子类的方法")
}
}
这里子类对象再调用eat()方法就调用会在子类中定义的方法。
suoer关键字
super关键字表示父类,他与this的区别是this可以表示当前对象,super不行。super也可以在子类的构造方法中调用父类的构造方法,用法是super()
,具体代码如下:
class Biology{
private Integer age;
public Biology(){
System.out.println("我是生物");
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public void breathe(){
System.out.println("我在呼吸");
}
}
class Animal extends Biology {
private String name;
public Animal(String s){
super();
System.out.println("我是动物");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void eat(){
System.out.println("吃吃吃,你就知道吃!");
}
}
原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/275889.html