abstract class Person{
private String name;
public Person(String n){
name=n;
}
public String getName() {
return name;
}
public abstract String getInformation();
}
class Employee extends Person{
private double salary;
public Employee(String n,double s) {
super(n);
salary=s;
}
public double getSalary() {
return salary;
}
@Override
public String getInformation() {
return "级别:员工、工资:"+getSalary();
}
}
public class MainTest{
public static void main(String[] args){
Person p=new Employee();
}
}
抽象类不能被实例化是说Person p=new Person();这样是错误的;但是Person p=new Employee(); 是可以的,创建子类的实例,父类的引用指向它
在上述主程序中,new Employee后,它会初始化对象,初始化顺序为:
父类静态块初始化---->子类静态块初始化---->父类非静态块初始化---->父类构造方法---->子类非静态块初始化---->子类构造方法。(先静后动,先父后子)
这个主程序会先初始化person类的非静态属性和构造函数再初始化employees类的非静态属性和构造函数
这就是你第一个问题的当子类的父类为抽象类时,构造方法如何追溯?而抽象类作为父类也会创建实例么?没有创建实例只是构造函数在对抽象类Person的属性初始化,对于一个类的声明,赋值 和使用两件事情,前者不需要实例化,后者必须实例化.
抽象类中的构造方法是怎么回事?就是初始化属性的作用
为什么有构造方法却不能实例化?没有这样的说法,只能针对类实例化对象
抽象类不能被实例化,构造函数被可以重载不能被覆盖,构造函数不能被继承
构造函数和类名相同,所以,继承下来也不是构造函数了,还有构造函数是一个对类初始化的特殊方法,代表这个类,一个基类是不可能知道子类会扩展什么,如果继承了就可以不写代码了,那么子类的新属性怎么初始化?当然这2点是我个人的看法。
分享到:
相关推荐
java继承的小例子, java继承 java继承
C++实现的一个继承与多态的例子,内容详细且易懂
java_中关于_继承_的一个小例子,java_中关于_继承_的一个小例子.rar
c#多态,继承,接口,结构例子
非常适合初学者的java继承学习 很经典因为我也是初学者!哈哈
安老师 的一个例子,c++ 的封装继承多态例子
C++中public继承、private继承、protected继承的例子
在C#中关于类之间继承的一个例子
Struts2继承ActionSupport例子 这个是我们在上课的时候做的一个小例子,可能其中还掺杂着其他东西,跟我博客是相关联的,如果只看代码看不懂,建议大家去看一下博客。
继承和多态例子shape&&point.rar
c++虚拟继承的一个典型例子,通过这个例子可以让初学者从根本体会到虚拟继承是怎么回事
VC++;从已知一个自定义基类继承的实例,这里是将视图类继承自我们准备好的一个基类;让派生类(视图类)拥有了我们的一些描述和操作。
在真正的Web站点和应用程序中,几乎不可能创建名为ClassA和ClassB的类,更可能的是创建表示特定事物(如形状)的类。考虑本章开头所述的形状的例子,Polygon、Triangle和Rectangle类就构成了一组很好的探讨数据。
Java课程的一道实验考试题。主要是关于IO(从键盘输入),继承,多态(动态绑定,静态绑定),集合(客户化排序)等内容。感觉对于理解多态和继承还是挺有作用的。
C# 接口与继承的例子源代码,截图以控制台程序来说明此问题,或许你从截图中能看出程序所表达的意思。
Java继承例子.doc
这是个SSH整合的简单例子,Action是继承自DispatchAction,多个JSP页面或是form可以跳转到这一个Action中调用同一个或是不同滴方法,有兴趣滴可以看一下,绝对无误!
对java中继承的练习,一个简单的例子,通过描述大树的性质来进行理解。
c#中继承是单继承,子类:父类的定议方式。...除了private修饰的字段、属性、方法不能被子类继承,其他的都可以被子类继承,下载中的例子用了一个爷爷、爸爸、儿子的关系,用简单的讲解讲述了C#中继承的用法。
在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数。下面就是一个例子: