1。超类变量可以引用子类对象(比如people = student),但是超类变量只能访问自己的成员,而不能访问子类中有但超类没有的成员。比如有类:
public class People {
String p_name;
}
public class Student extends People {
int stu_id;
}
运行(留意注释的部分)
public static void main(String[] args) {
People people = new People();
Student student = new Student();
people = student;
//student = people; //超类变量可以引用子类对象,但反之不行
System.out.println(people.p_name);
//System.out.println(people.stu_id); //超类变量只能访问自己的成员,而不能访问子类中有但超类没有的成员
}
2。super:用来调用(最近的)超类的构造函数(永远写在第一行)或访问被一个子类成员的隐藏的超类成员(在子类中定义与超类同名的变量(方法)导致超类的该名的变量(方法)被隐藏)
3。继承中的构造函数调用顺序:按派生顺序,从超类到子类。(子类的构造函数中没有出现super()时,超类的构造函数同样会被调用,只是默认调用无参的构造函数罢了)
4。overloading(重载)是多个函数名相同,参数类型不同;overriding(覆盖)是继承中的子类的方法是超类方法的版本被隐藏。overriding要求超类子类方法的名称、参数相同,否则就是overloading了。另外,返回类型也必须相同,不然是不允许覆盖(overriding)的。
5。动态方法分配(覆盖:多态支持,类似C中的虚函数):当通过一个超类引用调用一个被覆盖的方法时,java基于在调用出现时被引用的对象类型来决定执行哪个版本的方法。换句话说,是被引用的对象类型决定将执行哪个版本的覆盖方法。如:
People有方法setName,Student类中覆盖了这个方法。那么:
Student s = new Student();
People p =s;
p.setName("name");
上面的程序中,p引用调用了一个被覆盖的方法setName,由于Student才是被引用的对象类型,所以这里会调用Student的setName方法。
6。抽象类:能创建对象(类似声明),但不能实例化。与覆盖结合,保证某个超类的所有子类都覆盖了一个必须覆盖的方法。
7。final:1、用来创建(类似的)常量 2、用于方法,用来防止覆盖(与abstract的必须覆盖对应) 3、用于类,防止继承(所以把类同是声明为abstract和final是不合法的)
8。Object:所有类的超类。注意equals方法,用来比较对象的内容,相等就返回true。
分享到:
相关推荐
在这个特定的程序中,我们看到了一个关于Java继承的实例,它演示了子类对象初始化时涉及的各个步骤,包括构造方法、初始化值、父类构造方法以及父类的初始化值。 首先,我们有一个名为`Parent`的父类,它有两个实例...
Java继承机制在图形类中的应用 Java继承机制是一种重要的面向对象编程技术,通过继承机制,可以实现代码的重用和简化程序设计。在本例中,我们将使用Java继承机制编写一个抽象的图形类Shape,并编写两个子类矩形类...
Java继承是面向对象编程中的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的重用和扩展。在这个名为"java继承部分课件"的资料中,我们可以期待学习到关于Java继承的基础知识、...
Java继承作业.pdf 在本文中,我们将讨论Java继承的基本概念和实现方法,並以三个实例来演示继承的应用。 一、new A 和 A a=new A()的区别 在Java中,new关键字用于创建对象,而A a=new A()是将对象赋值给变量a。...
下面我们将深入探讨JAVA继承的相关知识点。 1. **继承的概念**: - 继承体现了类之间的层次结构,子类继承父类,表示子类是父类的一个特例,具备父类的所有特性但可能有所扩展。 - Java中声明继承使用`extends`...
java继承学习教案.pptx
Java继承和多态PPT教案学习 本PPT教案主要讲解了Java中的继承和多态机制,包括继承、里式代换原则、多态和动态绑定、方法重载、重载构造函数和方法覆盖等概念。 继承是面向对象编程的基本机制之一,允许一个类继承...
这个压缩包"java继承、多态的简单程序.zip"显然包含了一些示例代码,旨在帮助初学者理解这两个概念。接下来,我们将深入探讨Java中的继承和多态性。 ### 继承(Inheritance) 在Java中,继承允许一个类(子类)...
这个例子展示了Java继承的核心概念,包括: 1. 使用`extends`关键字创建子类。 2. 访问和覆盖父类的方法。 3. 添加子类特有的方法。 4. 多态性的应用。 通过学习这个实例,开发者能够更好地理解和运用Java的继承...
java 继承和多态PPT教程
Java继承是面向对象编程的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。在这个经典的Java继承例子中,我们将深入理解这一机制。 首先,我们要明确的是,继承的...
Java继承机制详解 Java继承是面向对象编程(OOP)的一种机制,允许一个类继承另一个类的成员变量和成员方法。通过继承,可以实现代码的重用和扩展。 在Java中,继承是通过使用关键字`extends`来实现的。例如,`...
6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip...
7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip...
Java 继承是面向对象编程中的一个核心概念,它允许一个类(子类或派生类)从另一个类(父类或基类)继承特性,从而实现代码的复用和扩展。方法重写则是继承机制中一个关键的特性,允许子类对父类的方法进行定制化,...
在Java编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和行为。这个概念极大地提高了代码的重用性和模块化,使得我们可以构建复杂的类层次结构。在...
java 继承 程序 学习java 必须要学习的知识,搞懂了 你java就入门了
java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学
在这个"Java继承实例源代码"的压缩包中,包含的文件可能提供了关于Java继承和多态性的实际应用示例。 首先,我们来看“继承”这一概念。在Java中,通过使用关键字`extends`,一个类可以声明其为另一个类的子类。...
1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字