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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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);
        }
        
}




6 个回复

倒序浏览
子类 不能得到父类的private属性吧。。。
回复 使用道具 举报
子类继承不到父类中的private属性。一般为了能够让外界操作类中的private成员变量,可以在本类中定义get,set方法让外界类进行操作。。。
回复 使用道具 举报
这个,如果你要用private修饰父类成员变量,那子类要重新声明变量,因为没法得到父类的成员变量。如果想子类直接使用父类的成员变量,又不想让父类的成员变量在外部被调用,可以把父类的成员变量用protected(因该没打错)修饰,protected修饰的成员变量,只有其子类可以调用,外部不能调用
回复 使用道具 举报
谢谢 明白了
回复 使用道具 举报
大哥 你这个问题问的 就有问题
回复 使用道具 举报
air鹏 中级黑马 2014-9-22 14:39:19
7#
bayshier 发表于 2014-9-22 11:00
大哥 你这个问题问的 就有问题

知道  谢谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马