A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

   Student是Person的子类, Student向上转型为Person,  Student这个类里面有study()和Iiintroduce()两个方法,为什么Person的对象p只能调用study,不能调用introduce?  (疑问也可见注释部分),,大神help!!!  代码如下:class Test {
        public static void main(String[] args) {
                Student s = new Student();
                Person p = s;   
                p.name = "张山";
                p.age = 20;
                p.study();                 //p这个引用为什么不能调用它所指向的对象的方法?
                p.introduce();         //同样是p所指向的对象,introduce这个方法却可以被p调用?
        }
}

class Person {
        String name;
        int age;
        void introduce() {
                System.out.println("我的姓名是" + name + ",我的年龄是" + age);
        }
}
class Student extends Person {
        String address;
        void study() {
                System.out.println("我正在学习");
        }
        void introduce() {
                super.introduce();
                System.out.println("我的家在" + address);
        }
}

2222.png (20.26 KB, 下载次数: 8)

删除错误代码编译成功

删除错误代码编译成功

2 个回复

倒序浏览
大神大神.老司机快来求解
回复 使用道具 举报
zwb690949450 发表于 2016-4-12 22:10
大神大神.老司机快来求解

太长了,懒得看!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马