Java中的继承-Java300集笔记整理

面向对象的三大特征:继承、封装、多态

继承两个作用:

  • 代码复用,更加容易实现类的拓展

  • 方便对事务建模

1. 继承的实现

继承使用extends实现

public class Person {  //默认扩展Object
	String name;
	int height;
	
	public void rest() {
		System.out.println("rest");
	}
}
class Student extends Person{
	int score;
	public void study() {
		System.out.println("Study"+this.name);
	}
	Student(String name,int height,int score){
		this.name = name;
		this.height = height;
		this.score = score;
	}
}

2. 继承使用要点

  • 父类也被称作超类、基类、派生类

  • Java中只有单继承,没有如C++中的多继承

  • Java中类没有多继承,接口有多继承

  • 子类继承父类,可以得到父类的全部属性和方法,但不得可以直接访问

  • 如果定义一个类时,没有调动extends,则它的父类时java.lang.Object

    扫描二维码关注公众号,回复: 13350376 查看本文章

3. 继承中方法的重写Override

方法的重写需要符合下面三个要点:

  • "==":方法名、形参列表相同

  • "<=":返回值类型和声明异常类型,子类小于等于父类

  • ">=":访问权限,子类大于等于父类

@Override 看到这个就是重写的意思

4. 继承和组合

为了实现代码的复用,除了继承之外还可以用组合。

public class Anaimal {
	public static void main(String[] args) {
		Taidi t = new Taidi();
		t.dog.shout();
        t.dog.height = 101;
	}
}
class Dog{
    int height;
	public void shout() {
		System.out.println("wangwangwang");
	}
}
class Taidi{
	Dog dog = new Dog();
}

组合比较灵活,继承只能有一个父类,组合可以有多个属性。

继承除了代码复用,还能方便对事务的建模,所以建议"is-a"使用继承,"has-a"使用组合。

猜你喜欢

转载自blog.csdn.net/lipengfei0427/article/details/121378839
今日推荐