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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//定义个抽象类 人(Person)
abstract class Person
{
        //人共同具有的属性有:姓名,年龄,性别
          String name;   //(就是这里的属性如果用private定义,在子类中能访问到吗??)
          int age;
          String sex;

        //构造方法的初始化
        Person(String name,int age,String sex)
        {
                this.name=name;
                this.age=age;
                this.sex=sex;
        }

        //人共同的行为说话,没有主体,因为每个人说话的具体内容不知道
        abstract void speak();
}

//小红的爸爸继承了抽象的人类型,并且实现接口中工作的功能
class HongFather extends Person implements InterFaceDemo
{
        HongFather(String name,int age,String sex)
        {
                super(name,age,sex);
        }
       
        //实现抽象类中说话的功能
        void speak()
        {
                System.out.println("我叫"+name+"是小红的爸爸!今年"+age+"岁了");
        }
        //实现接口中能工作的新功能
        public void work()
        {
                System.out.println("爸爸从事的工作是A和B!");
        }

}

5 个回复

倒序浏览
可以,但是需要抽象类中定义一个公共接口,还有就是抽象类中的成员跟方法本来就是用来继承访问的,如果定义成私有属性,就没多大意义
回复 使用道具 举报
在抽象类中定义一个接口?具体怎样实现呢?还是有点不明白……
回复 使用道具 举报
wkz_crystal 发表于 2015-3-14 13:53
在抽象类中定义一个接口?具体怎样实现呢?还是有点不明白……

2楼说的公共接口不是java语法中的接口interface,而是api这个单词中的"i"——interface,表示一种访问途径,体现到代码里就是public的setter和getter方法来访问私有成员变量
回复 使用道具 举报
如果用set ,get方法,是不是上面的在抽象的父类中表示:

//定义个抽象类 人(Person)
abstract class Person
{
        //人共同具有的属性有:姓名,年龄,性别
          String name;   //(就是这里的属性如果用private定义,在子类中能访问到吗??)
          int age;
          String sex;

        //构造方法的初始化
        Person(String name,int age,String sex)
        {
                this.name=name;
                this.age=age;
                this.sex=sex;
        }//设置set和get的方法在子类的对象实例化时,就直接调用是吗?
       public String setName(String name)       {
                return  name;
        }

        public vodi getName)
       {
                this.name = name;
        }


        //人共同的行为说话,没有主体,因为每个人说话的具体内容不知道
        abstract void speak();
}



回复 使用道具 举报
可以,但是需要抽象类中定义一个公共接口,还有就是抽象类中的成员跟方法本来就是用来继承访问的,如果定义成私有属性,就没多大意义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马