Java中类的继承

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中类的继承相关的知识,希望对你有一定的参考价值。

  Java中的继承为单继承,即一个子类只能继承一个超类,但可以实现多个接口。超类是所有子类的公共属性及方法的集合,子类是超类的特殊化。其语法为:

[ClassModifire] class ClassName extends SuperClassName{
 //类体 
} 

  从外部来看,子类对象应该包括和超类相同的接口,但可以具有更多的方法;从内部来看,子类对象应该包含超类的所有变量和方法。

例:经理类(Manager)继承雇员类(Employee),雇员类继承Person类

public class Person{
	public String Name;
	public String getName(){
		return Name;
	}
}

public class Employee extends Person{
	public int employeeNumber;
	public int getEmployeeNumber(){
		return employeeNumber;
	}
}

public class Manager extends Employee{
	public String responsibilities;
	public String getResponsibilities(){
		return responsibilities;
	}
}

public class Exam4_2Test{
	public static void main(String[] args){
		Employee li = new Employee();
		li.Name = "Li Ming";
		li.employeeNumber = 123456;
		System.out.println(li.getName());
		System.out.println(li.getEmployeeNumber());
		
		Manager he = new Manager();
		he.Name = "He Xia";
		he.employeeNumber = 543469;
		he.responsibilities = "Internet Project";
		System.out.println(he.getName());
		System.out.println(he.getEmployeeNumber());
		System.out.println(he.getResponsibilites());
	}
}

//运行结果
Li Ming
123456
He Xia
543469
Interner Project

 子类不能直接访问从超类继承的私有属性及方法,但可以使用公有及保护方法进行访问。

public class B{
	public int a = 10;
	private int b = 20;
	protected int c = 30;
	public int getB(){
		return b;
	}
}

public class A extends B{
	public int d;
	public void tryVariables(){
		System.out.println(a);  //ok
		System.out.println(b);  //fail
		System.out.println(getB());//ok
		System.out.println(c);  //ok
	}
}

  

 

以上是关于Java中类的继承的主要内容,如果未能解决你的问题,请参考以下文章

java中类的继承

Java中类的继承

Java中类的继承与权限控制

java中类的封装与继承

Java中类的继承

Java中类的关系