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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如果在抽象类中定义私有变量,子类继承抽象类后,子类中的方法需要访问抽象类中定义的私有变量怎么办?

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 鼓励

查看全部评分

7 个回复

倒序浏览
package Day21;
abstract class Demo
{
        private int num=5;//私有成员并赋初值
        public void setNum(int num)//对外提供的设置私有成员的方法
        {
                this.num=num;
        }
        public int getNum()//对外提供的获取私有成员的方法
        {
                return num;
        }
        public abstract void show();//抽象方法
}
class Test4 extends Demo//继承抽象类
{
        public static void main(String[] args)
        {
                new Test4().show();
        }
        public void show()//实现抽象方法,并调用抽象类私有方法......其实写那么多...与正常继承没有区别...
        {
                Test4 t=new Test4();
                t.setNum(4);
                System.out.println(t.getNum());
        }
}

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 赞一个!

查看全部评分

回复 使用道具 举报
个人理解子类中方法是无法访问抽象类(父类)的私有变量的,如要访问,把抽象类中的该变量设置为protect
回复 使用道具 举报
父类的私有变量只有父类自己才能访问,子类无法直接访问,想要访问只能在父类中定义get();方法,通过所定义的方法访问父类的私有变量。
希望可以帮到你。
回复 使用道具 举报
陈圳 发表于 2013-3-3 23:06
package Day21;
abstract class Demo
{

这个不可以称之为访问的是父类的私有方法吧?这是子类继承抽象后,创建对象,访问成员属性
回复 使用道具 举报
对外提供的设置私有成员的方法
回复 使用道具 举报
崔芝鲁 发表于 2013-3-3 23:19
这个不可以称之为访问的是父类的私有方法吧?这是子类继承抽象后,创建对象,访问成员属性 ...

我晕...没看清楚.不过还是一样的.只要开一个对外的方法,里面封装一下私有方法就行.是可以的,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马