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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 俞剑飞 中级黑马   /  2014-6-9 22:46  /  1006 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求助。。。
/*
class Fu
{
        private int age;
}
class Zi extends Fu
{
        public int show()
        {
                return age;
        }
}
class Help
{
        public static void main(String[] args)
        {
                Zi z = new Zi();
                System.out.println(z.show());
        }
}
//age 可以在 Fu 中访问 private
//   return age;
这是不是就表示父类私有的内容子类拿不到呢?
*/
class Fu
{
        private int age = 50;
        public int show()
        {
                return age;
        }
}
class Zi extends Fu
{
}
class Help
{
        public static void main(String[] args)
        {
                Zi z = new Zi();
                System.out.println(z.show());//50
        }
}
/*
class Person
{
        private int  age;
        public void setAge(int age)
        {
                this.age = age;
        }
        public int getAge()
        {
                return age;
        }
}
class Student extends Person
{
        //public void setAge(int age)
        //{
        //        this.age = age;
        //}
        //public int getAge()
        //{
        //        return age;
        //}
        //为什么在子类重新写一次会编译失败?没有覆盖的话又是怎么回事呢?
}
class Help
{
        public static void main(String[] args)
        {
                Student z = new Student();
                z.setAge(20);
                System.out.println(z.getAge());//20
        }
}
*/

2 个回复

倒序浏览
本帖最后由 shisishishisi 于 2014-6-9 23:03 编辑

分析已经写在代码里了,另外楼主多行注释能不能使用/**/啊。。。提问能不能把代码直接贴在代码对应的地方啊。。。
  1. class Person
  2. {
  3.         private int  age;
  4.         public void setAge(int age)
  5.         {
  6.                 this.age = age;
  7.         }
  8.         public int getAge()
  9.         {
  10.                 return age;
  11.         }
  12. }
  13. class Student extends Person
  14. {
  15.                 public void setAge(int age)
  16.                 {
  17.                         //this.age = age;
  18.                         //this代表的是本类对象,既然父类的私有属性不能被子类继承,
  19.                         //那么this.age肯定就不存在,既然父类有set和get方法,
  20.                         //子类则可以通过父类提供的set和get方法来访问父类的私有属性,下面同理。
  21.                         super.setAge(age);
  22.                 }
  23.                 public int getAge()
  24.                 {
  25.                         return super.getAge();
  26.                 }
  27.    
  28. }
  29. class Help
  30. {
  31.         public static void main(String[] args)
  32.         {
  33.                 Student z = new Student();
  34.                 z.setAge(20);
  35.                 System.out.println(z.getAge());//20
  36.         }
  37. }
复制代码
回复 使用道具 举报
shisishishisi 发表于 2014-6-9 23:01
分析已经写在代码里了,另外楼主多行注释能不能使用/**/啊。。。提问能不能把代码直接贴在代码对应的地方啊 ...

    恩恩,谢谢大神哥哥的建议,下次一定改正哈。:P虽然不是我想要的答案,但还是非常感谢。嘿嘿。:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马