黑马程序员技术交流社区

标题: 父类中private修饰的成员变量被子类继承后怎么打印 [打印本页]

作者: air鹏    时间: 2014-9-21 22:44
标题: 父类中private修饰的成员变量被子类继承后怎么打印
本帖最后由 air鹏 于 2014-9-22 10:24 编辑






class AbstractText
{
        public static void main(String[] args)
        {
                PTWork pt = new PTWork("LiSi","007",1000);
                JLWork jl = new JLWork("ZhangSan","001",1000,1000);
        }
}
abstract class Work
{
        private String name;
        private String number;
        private int pay;
        Work(String name,String number,int pay)
        {
                this.name=name;
                this.number=number;
                this.pay=pay;
        }
        abstract void show();
        
}
class PTWork extends Work
{
        
        PTWork(String name,String number,int pay)
        {
                super(name,number,pay);
        }
        
        void show()
        {
                //System.out.println(name+number+pay);显示子类对象的成员变量,
                //不过由于这些变量在父类中被private修饰 编译失败
        }
}
class JLWork extends Work
{
        private int jiangjin;
        JLWork(String name,String number,int pay,int jiangjin)
        {
                super(name,number,pay);
                this.jiangjin=jiangjin;
        }
        void show()
        {
                //System.out.println(name+number+pay+jiangjin);
        }
        
}





作者: lipc    时间: 2014-9-21 23:20
子类 不能得到父类的private属性吧。。。
作者: eternallove    时间: 2014-9-22 00:43
子类继承不到父类中的private属性。一般为了能够让外界操作类中的private成员变量,可以在本类中定义get,set方法让外界类进行操作。。。
作者: 霜林醉zhx    时间: 2014-9-22 01:39
这个,如果你要用private修饰父类成员变量,那子类要重新声明变量,因为没法得到父类的成员变量。如果想子类直接使用父类的成员变量,又不想让父类的成员变量在外部被调用,可以把父类的成员变量用protected(因该没打错)修饰,protected修饰的成员变量,只有其子类可以调用,外部不能调用
作者: air鹏    时间: 2014-9-22 10:21
谢谢 明白了
作者: bayshier    时间: 2014-9-22 11:00
大哥 你这个问题问的 就有问题
作者: air鹏    时间: 2014-9-22 14:39
bayshier 发表于 2014-9-22 11:00
大哥 你这个问题问的 就有问题

知道  谢谢了




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