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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//定义一个人父类
class Person
{
        //姓名和年龄是人的共性
        String name;
        int age;

        //在构造函数中对名字和年龄进行初始化
        Person(String name,int age)
        {
                this.name=name;
                this.age=age;       
        }
        //人都有睡觉的功能
        void sleep()
        {
                System.out.println("sleep");
        }
        //人还有说话的功能,说出自己的姓名年龄
        void speak()
        {
                System.out.println(name+"::"+age);
        }
}
//定义一个学生子类
class Student extends Person
{
        Student(String name,int age)
        {
                //superg关键字代表父类,因为姓名和年龄在父类中进行了初始化动作
                //在这里可以直接被调用
                super name=name;
                super age=age;
        }
        //学生具有特有的学习功能
        void study()
        {
                System.out.println("study");
        }
}
class ExtendsDemo
{
        public static void main(String[] args)
        {
               
                Student s = new Student("lisi",50);
                s.speak();
                s.sleep();
                s.study();
        }
}
这段代码 可不可以不在Student s = new Student("lisi",50); 这条语句中输入值
用别的方式代码如何 求大神解答

11 个回复

倒序浏览
自己顶一下
回复 使用道具 举报
可以啊,但是要提供一个方法赋值用的
回复 使用道具 举报
王小乖 发表于 2015-3-31 13:51
可以啊,但是要提供一个方法赋值用的

代码写一下 谢谢
回复 使用道具 举报
我也想知道 坐等大牛回复
回复 使用道具 举报

你是还想用父类的中的方法吗?
回复 使用道具 举报
翰墨 中级黑马 2015-3-31 16:09:54
7#
你要是不想在Student s = new Student("lisi",50)这条语句中输入值,要定义一个无参构造函数。
在父类中:Person(){}
public void setName(String name) {
                this.name = name;
        }
        public String getName() {
                return name;
        }
        public void setAge(int age) {
                this.age = age;
        }
        public int getAge() {
                return age;
        }
回复 使用道具 举报 1 0
楼上正解  .在父类中添加get和set方法
回复 使用道具 举报

回复 使用道具 举报
好像看不清。说一下吧。就是在父类里记得再补充一个空参数构造函数。
然后写上set和get方法,
创建对象后,记得用set设置值,用get获取。
回复 使用道具 举报
楼上 正解, 有setXX 赋值   getXXX 获取
回复 使用道具 举报
一楼的程序就可以用··是正确的··
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马