Java day2【第十二章】继承定义及使用

十二.继承定义及使用:

 二.继承实现:

(1)继承:

class  子类  extends  父类  {}

  子类又称派生类,父类又称超类(super class)

eg:  观察继承

class Students extends Person{
    
}

  继承实现的目的:扩充已有的功能

(2)内存关系:

三.子类对象实例化流程:

(1)对实例化定义有要求:

  先实例化好父类,然后子类实例化。

  不做代码解释。

(2)结论:无论如何折腾,在实例化子类对象的同时一定会实例化父类对象,目的是给所有类分配内存空间。

   super和this都可以调用构造方法的参数,super调用父类参数,this调用本类参数。

四.继承定义限制:

(1)java之中不允许多重继承,只允许多层继承。

  很好理解,一个人只能由一个爹。

  eg:错误继承

  

class A {}
class B {}
class C extends A,B {}

  继承的目的:扩展已有的功能

  多重继承的目的:扩展继承多个类中的方法

  而面对于多继承的要求,必须将范围限定在同一类中。

正确继承如下:

class A{}
class B extends A{}
class C extends B{}

  但多层继承也有限度,千万别祖宗二十代,对于继承,理论上层次不应该超过三层。

(2)子类可继承父类中的所有操作结构,但是对于私有操作属于隐式继承(见不得人的好事),非私有继承是显示继承(亿万家产)

  

class Person
{	
	private String name;
	public void setName(String name){
		this.name = name ;
	}
	public String getName(){
		return this.name;
	}
}

class Student extends Person
{

	public void fun(){
		//System.out.println(name);	直接引用不可取
		System.out.println(getname());  //间接引用
	}
}

public class Stringdemo{
	public static void main(String args[]) {
	}
}

  继承一旦发生,所有操作都可以被子类使用,子类最少会维持父类的现有功能(java不考虑败家子的情况)

猜你喜欢

转载自www.cnblogs.com/xiwenxinaini/p/11689293.html