“继承”(Inheritance)是面向对象软件技术当中的一个概念,例如在java语言中,java语言中不支持多重继承,是通过接口实现多重继承的功能。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。尽管子类包括父类的所有成员,它不能访问父类中被声明成private 的成员 ...
继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。
继承的目的:实现代码重用
派生类声明:
class 派生类名:继承方式 基类名
{
新增成员声明;
};
三种继承方式
公有继承 public (原封不动)
保护继承 protected (折中)
私有继承 private (化公为私)
继承方式影响子类的访问权限:
派生类成员对基类成员的访问权限
通过派生类对象对基类成员的访问权限
同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。
1、我们先建立基类BaseClass.class,然后再从该类派生新类InherienceTest,展示从基类派生的方法(Methord)及基类构造函数的执行。
package InherienceTest.BaseClass;//package 后能被继承,不过不能执行
public class BaseClass
{
public BaseClass(){
System.out.println("I’m the Constructor Function in BaseClass!");
}
protected static void FuncTest(){
System.out.println("This is a Function Test in BaseClass!");//Static Methord
}
public static void main(String[] args){
FuncTest();
System.out.println("This is the BaseClass!");
System.out.println(new java.util.Date());
}
};
import InherienceTest.BaseClass.BaseClass;//相当于路径:path & InherienceTest\BaseClass\BaseClass.class
public class
InherienceTest extends BaseClass//注意:public主类名必须和文件名相同
{
//基类不能和派生类在同一目录下面。
public static void main(String[] args)
//main函数必须是pulic static
{
InherienceTest xx=new InherienceTest();//构造函数被执行
xx.FuncTest();
//调用继承的方法
System.out.println("Hello World!");
}
}