黑马程序员技术交流社区

标题: 关于子父类和私有 [打印本页]

作者: 陈国华    时间: 2014-11-16 21:17
标题: 关于子父类和私有
视频:毕老师第十天10讲
请问① 如果子类创建对象的话参数里该写什么呢②这样算子类访问父类的私有属性么?
abstract class  Worker
{
        private String name;
        private int age;
        Worker(String name,int age)
        {
                this.name = name;
                this.age = age;
        }
        abstract void work();
}
class Manager extends Worker
{
        private int bonus;
        Manager(String name,int age,int bonus)
        {
        super(name,age);
        this.bonus= bonus;
        }
        public void work()
        {
                System.out.println("work");
        }
}
class AboutWork
{
        public static void main(String[] args)
        {       
             //请问这里创建子类对象的话参数里该放什么呢??
        }
}
如题,谢谢?

作者: HelloWorld!    时间: 2014-11-16 21:40
放子类构造函数参数列表中的属性值。如:Manager m = new("张三",30,10000);子类继承父类时,会继承父类所有的成员变量和成员方法,包括私有成员变量和私有成员方法,但是,子类对象不能直接访问父类的私有成员。对于类的非静态成员,只能被本类对象调用或访问,对于类的静态成员,可以用类名或本类对象调用或访问,私有化的成员只能在本类中可以直接访问,要想在其他类中访问该类私有成员,应该在该类中提供访问其私有成员的方式。
作者: hailong    时间: 2014-11-16 21:44
创建对象看构造器啊,构造器里的参数是什么创建对象时就要传递什么参数,你这个创建子类对象的话需要传递Manager(String name,int age,int bonus)这里面的三个参数
作者: 陈国华    时间: 2014-11-16 22:08
HelloWorld! 发表于 2014-11-16 21:40
放子类构造函数参数列表中的属性值。如:Manager m = new("张三",30,10000);子类继承父类时,会继承父类所 ...

有用,谢谢!
作者: 王世虎    时间: 2014-11-16 22:12
建子类的构造函数Manager(String name,int age,int bonus)并调用父类对应的构造函数进行初始化
作者: zhangyangLengen    时间: 2014-11-17 08:52
子类继承父类时,会继承父类所有的成员变量和成员方法,包括私有成员变量和私有成员方法。
子类继承父类应该不包含父类的私有成员变量和私有成员方法吧?
作者: HelloWorld!    时间: 2014-11-17 12:44
zhangyangLengen 发表于 2014-11-17 08:52
子类继承父类时,会继承父类所有的成员变量和成员方法,包括私有成员变量和私有成员方法。
子类继承父类应 ...

多个类中存在相同属性和行为,把这些共性内容进行抽取,封装成一个新的类,多个类和这个新的类的关系就是所谓的继承关系。也就是说,父类中的所有内容都是从子类抽取的共性内容,包括私有的成员。成员的私有化是封装的一种体现形式,是为了数据安全,不让别的类随意访问修改,而是对外提供私有成员的访问方式,在访问方式中可以增加限制条件。私有是指访问权限仅在本类中,而不干扰继承。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2