`
JinLoveJava
  • 浏览: 22938 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

继承 多态 实参形参

阅读更多
package lianxii;

import java.util.Date;

public class Person2 {

    public String name;
    public int    age;
    private Date  birthDate;

    public String getInfo() {

        return "name:" + name + "\nage:" + age;
    }
}
//类Person2
package lianxii;

public class Student2 extends Person2 {

    private String school    = "BeiJing";
    private String className = "errr";

    public String getSchool() {

        return school;
    }

    @Override
    public String getInfo() {

        return super.getInfo() + "\nschool:" + school + "\nclassName:" + className;
    }

    public static void main(String[] args) {

        Student2 y = new Student2();
        y.school = "NanJing11";
        y.className = "ChuYi";
        System.out.println(y.getInfo() + "\n");

        Person2 t = new Person2();
        t.age = 23;
        t.name = "zhong";
        System.out.println(t.getInfo() + "\n");
        //多态的情况下
        Person2 p = new Student2();
        System.out.println(p.getInfo() + "\n");
    }
}
//类Student2
//一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的方法和属性
package lianxii;

public class Test {

    public String method(Person2 r) {//形参

        return r.getInfo();
    }

    public static void main(String[] args) {

        Test u = new Test();
        Student2 p = new Student2();
        u.method(p);//实参
        System.out.println(u.method(p));
    }

}
//测试类Test
//方法声明的参数类型为父类类型,可以使用子类的对象作为实参调用该方法
分享到:
评论

相关推荐

    C++记忆要点.pdf

    编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数。通过这种方式,可以为同一个功能提供多个接口,以适应不同类型的参数。 动态绑定(晚期绑定或后绑定)和静态绑定(早期绑定或前绑定)是多态...

    面向对象编程基础.docx

    面向对象编程基础主要涉及到三个核心概念:封装、继承和多态。这些都是Java等面向对象编程语言中的重要特性。 1. **封装**: 封装是面向对象编程的基础,它将对象的属性(数据)和行为(方法)绑定在一起,对外...

    c++复习题.doc

    1. 数组名可以作为实参赋值给指针类型的形参。 2. 数组的存储方式为行优先存储。 3. 数组指针的语法形式为:类型名 *数组名[下标表达式]。 四、继承和派生 1. 派生类可以访问基类的保护成员。 2. 基类没有默认构造...

    自考C++试题及答案-3-4..docx

    17. 实参与形参的关系:在函数调用中,实参和形参不是同一对象,但它们之间有对应关系,形参接收实参的值或引用。 18. 继承的特性:C++的继承性允许派生类继承基类的特性,并且可以增加新的特性或重定义基类的特性...

    清华大学计算机系C++试题及答案.pdf

    值传递是将实参的副本传给形参,形参的改变不会影响实参。引用传递则是将实参的引用传给形参,形参的改变会直接影响实参。 2. this指针:在C++中,每个成员函数都有一个隐含的this指针,它指向调用该成员函数的对象...

    c++试卷.docx

    C++是一种广泛使用的面向对象的编程语言,它包含了许多特性,如封装、继承、多态等。在编写C++程序时,通常会经历以下几个步骤:编辑(创建源代码文件)、编译(将源代码转化为机器语言)、连接(将编译后的对象文件...

    自考C++试题及答案.docx

    13. 实参与形参的关系:当使用地址作为实参传给形参时,实参和形参是同一对象的引用,而非备份。 14. 继承的特性:C++的继承性允许派生类继承基类的部分特性,并且可以增加新的特性或重定义基类的特性。 15. 类中...

    尚硅谷JAVA基础笔记吐血整理

    “尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...

    2015-2016学年第2学期西南交大面向对象程序设计主观题作业.pdf

    调用时,实参从左到右初始化形参,如果缺少实参,会使用默认形参值。 11. 运行时行为:题目涉及类对象的构造和析构顺序,以及成员变量的初始化和传递参数的方式。 总结起来,这些题目涵盖了面向对象编程的基础知识...

    C++对象模型探究(基础版)

    传值调用会创建形参的副本,传引用调用则不复制对象,而是让形参直接引用实参。指针同样可以用于传递对象的地址,提供间接访问。 C++中的类和对象是面向对象编程的基础。类定义了对象的结构和行为,而对象则是类的...

    2023年3月计算机二级C++通关练习题及答案.docx

    3. **面向对象编程的特性**:面向对象编程的三大特性包括封装、继承和多态。选项C中的“类比性”不是面向对象的主要特性,正确答案是A(继承性)、B(多态性)和D(封装性)。 4. **数据库设计**:数据字典是在需求...

    c++练习题(带答案) (2).docx

    数组名可以作为实参赋值给指针类型的形参,但数组指针的语法形式通常写作`类型名 *数组名[常量表达式]`。 8. 派生类可以访问通过私有继承的基类的保护成员,但不能直接访问私有成员。基类的虚函数可以被继承,而析...

    c (面向对象的程序设计)考前必背的名词解释和简答题.doc

    13. **赋值传递**和**引用传递**:赋值传递会复制实参的值给形参,而引用传递则是形参直接引用实参,两者都是参数传递方式,但引用传递不会复制,修改形参也会影响实参。 14. **#include预处理指令**:尖括号`< >`...

    2021-2022计算机二级等级考试试题及答案No.18966.docx

    18. **面向对象语言特性**:面向对象语言具有封装、继承和多态的特性。 19. **算法控制结构**:算法通常由顺序、选择(分支)、循环这三种基本结构组成。 20. **Word页码设置**:在Word中,可以对文档的第一页不...

    第一阶段javaEE.doc

    - 形参多态:函数参数可以是父类类型,允许接收子类对象。 - 返回值多态:函数返回值类型为父类,可返回子类对象。 - 引用类型转换: - 向上转型:自动转换,例如父类类型 变量名 = 子类对象; - 向下转型:...

    C++期末考试题.pdf

    值传递会复制实参的值给形参,而引用传递则让形参成为实参的别名,不复制值,修改形参会直接影响实参。 2. 成员函数的this指针:当成员函数被调用时,隐含地有一个指向调用它的对象的指针,称为`this`指针。 3. ...

    0854考研复试 综合面试速成(1):C/C++/Java常识 Akira37.pdf

    - 引用传递将实参的地址赋给形参,对形参的操作直接影响实参。 5. **指针与引用的区别**: - 引用无需显式解引用即可访问对象,而指针需要通过解引用操作。 - 引用在定义时必须初始化,并且不能改变引用的对象;...

    C++100道核心面试题

    - **值传递**:函数接收的是实参的副本,对形参的操作不会影响实参。 - **指针传递**:函数接收的是实参地址的副本,通过指针可以在函数内部修改实参。 - **引用传递**:函数接收的是实参的引用,通过引用可以在函数...

    C++重点知识、例题总结.docx

    C++是一门强大的面向对象编程语言,主要特点包括封装、继承和多态。这些特性使得C++在软件开发中具有很高的灵活性和可扩展性。 1. **封装**: 封装是面向对象编程的核心概念之一,它通过将数据(属性)和操作数据的...

Global site tag (gtag.js) - Google Analytics