`
cfeers
  • 浏览: 140624 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

继承的一个例子

    博客分类:
  • java
 
阅读更多
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编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。这个概念在软件工程中扮演着至关重要的角色,因为它促进了代码的重用、扩展和组织。标题"继承的小...

    C++继承与多态例子

    在这个例子中,`Dog`类继承了`Animal`类,并添加了一个新的成员函数`bark()`。由于继承,`Dog`类的对象可以调用`eat()`方法,这是从`Animal`类继承而来的。 接下来,我们来谈谈多态。多态有两种类型:静态多态...

    java_中关于_继承_的一个小例子.

    通过`java_中关于_继承_的一个小例子.docx`文档,可能包含了更详细的示例代码、解释或者练习题,旨在帮助学习者深入理解和掌握Java中的继承概念。在实际编程中,继承被广泛应用于构建层次化的类结构,如在游戏开发中...

    经典java继承例子

    Java继承是面向对象编程的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。在这个经典的Java继承例子中,我们将深入理解这一机制。 首先,我们要明确的是,继承的...

    VC类继承例子

    在VC++编程环境中,类继承是面向对象编程的一个核心概念,它允许我们创建新的类,这些新类可以扩展或修改已存在的类的功能。这个过程被称为派生,派生类(子类)从基类(父类)继承特性,从而实现代码的重用和功能的...

    多态继承接口结构例子

    继承是面向对象编程的重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用。在C#中,使用冒号":"来表示继承,例如`class DerivedClass : BaseClass`。子类不仅可以继承父类的非...

    C# 接口与继承的例子源代码

    继承是面向对象的一个特性,一个类可以继承自另一个类,继承的类被称为子类或派生类,被继承的类被称为基类或父类。子类会继承父类的所有非私有成员,包括字段、方法和属性。这样,子类可以复用父类的代码,并在此...

    C++虚拟继承举例及其代码

    通过一个具体的例子,我们将帮助初学者更好地理解和体会虚拟继承的工作原理。 首先,我们需要理解什么是继承。继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)中获取属性...

    关于继承多态集合和IO的一个例子

    首先,**继承**是面向对象编程的一个关键特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于代码重用和创建分层的类结构。例如,假设有一个`Animal`类,它有`eat()`和`sleep()`方法,然后你可以...

    C++中公有继承、私有继承、保护继承.的含义及例子

    C++中public继承、private继承、protected继承的例子

    继承和多态例子shape&&point

    继承是OOP中的一个关键特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法。这样,子类不仅可以重用父类的代码,还可以根据需要添加自己的特性和行为。在shape.cs和point.cs文件中,可能有...

    Java 实现继承实例代码

    在Java编程语言中,继承是面向对象特性之一,它允许我们创建一个类(子类或派生类)作为现有类(父类或基类)的扩展。这种设计模式有助于代码重用,使得子类可以继承父类的属性和方法,并且可以添加新的功能或覆盖已...

    C#例子。First Head C#里的一个例子。

    First Head C#里的一个例子。"揭示了这是一个关于C#编程语言的实际示例,特别是涉及到“First Head”,可能是指一个基础或者关键的概念或技术。这个例子是作者亲手编写的,并且已经在Visual Studio 2010环境下成功...

    c++ 的封装继承多态例子

    例如,可能会有一个基础类(如`Animal`),定义了一些公共方法(如`makeSound()`),然后有几个派生类(如`Dog`、`Cat`),继承自`Animal`并覆盖或扩展了`makeSound()`方法,以此展示多态性。同时,这些类可能会有...

    Struts2继承ActionSupport例子

    Struts2是一个强大的Java web应用程序框架,用于...这个例子就是一个很好的起点,可以帮助初学者理解Struts2框架的核心概念和工作原理。如果你遇到困惑,建议参考相关的博客或者官方文档,以深入理解和掌握这些知识点。

    Javascript 继承实现例子

    在真正的Web站点和应用程序中,几乎不可能创建名为ClassA和ClassB的类,更可能的是创建表示特定事物(如形状)的类。考虑本章开头所述的形状的例子,Polygon、Triangle和Rectangle类就构成了一组很好的探讨数据。

    SSH整合继承DispatchAction的简单例子

    这个"SSH整合继承DispatchAction的简单例子"是一个演示如何将这三个框架集成在一起,并利用Struts的DispatchAction来实现多请求分发的功能。 首先,让我们深入理解SSH框架的核心功能。Spring是一个强大的依赖注入...

    关于对象继承的例子

    它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法,从而实现代码的重用和扩展。这个例子将深入探讨C#中的对象继承机制。 首先,我们需要理解继承的基本语法。在C#中,子类通过使用冒号(:)来...

    C#--对象关系继承简单例子.rar

    本资源是一个关于C#对象关系继承的简单例子,旨在帮助学习者更好地理解和应用这一概念。在Java教程中,虽然两者语法有差异,但对象关系继承的基本原理是相通的,因此这个C#的例子同样适用于Java学习者。 对象关系...

    一个代码例子

    标题中的“一个代码例子”和描述中的“一个简单的例子,让你更好的学习C++,public,一个例子”都指向了一个核心主题:使用C++编程语言的示例代码。在这个例子中,“public”一词可能指的是C++中的访问修饰符,这是...

Global site tag (gtag.js) - Google Analytics