黑马程序员技术交流社区

标题: 抽象类中的私有变量在子类中如何访问? [打印本页]

作者: 张亚青    时间: 2013-3-3 22:57
标题: 抽象类中的私有变量在子类中如何访问?
如果在抽象类中定义私有变量,子类继承抽象类后,子类中的方法需要访问抽象类中定义的私有变量怎么办?
作者: 陈圳    时间: 2013-3-3 23:06
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());
        }
}
作者: Benwolf0818    时间: 2013-3-3 23:10
个人理解子类中方法是无法访问抽象类(父类)的私有变量的,如要访问,把抽象类中的该变量设置为protect
作者: 张子凯    时间: 2013-3-3 23:16
父类的私有变量只有父类自己才能访问,子类无法直接访问,想要访问只能在父类中定义get();方法,通过所定义的方法访问父类的私有变量。
希望可以帮到你。
作者: Benwolf0818    时间: 2013-3-3 23:19
陈圳 发表于 2013-3-3 23:06
package Day21;
abstract class Demo
{

这个不可以称之为访问的是父类的私有方法吧?这是子类继承抽象后,创建对象,访问成员属性
作者: HM汪磊    时间: 2013-3-3 23:25
对外提供的设置私有成员的方法
作者: 陈圳    时间: 2013-3-4 08:28
崔芝鲁 发表于 2013-3-3 23:19
这个不可以称之为访问的是父类的私有方法吧?这是子类继承抽象后,创建对象,访问成员属性 ...

我晕...没看清楚.不过还是一样的.只要开一个对外的方法,里面封装一下私有方法就行.是可以的,




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