JAVA 无法将类 student中的构造器 student应用到给定类型;

问题:无法将类student中的构造器student应用到给定类型;(这个问题一直没找到原因,下面这种写法正确吗,需要不需要把构造器给重新写?在子类调用父类时,父类如果没... 问题:无法将类 student中的构造器 student应用到给定类型;(这个问题一直没找到原因,下面这种写法正确吗,需要不需要把构造器给重新写?在子类调用父类时,父类如果没有定义构造器,那么子类会不会调用呢,父类的默认构造器是不是不用写出来的?而直接就调用 super.persson(){ } 呢?如果不写这一句,那么子类还调不调这种呢?)
结果是:

//定义父类;
abstract class persson{ private String name; private String id; private double pay; public void setname(String name) { this.name=name; } String getname() { return jgname(); } public void setid(String id) { this.id=id; } String getid() { return jgid(); } public void setpay(double pay) { this.pay=pay; } double getpay() { return jgpay(); } String jgname() { return (name); } String jgid() { return (id); } double jgpay() { return (pay); } public abstract void work(); }

//定义子类;
class student extends persson{public void work() { System.out.println("姓名:"+getname()+'\t'+"工号:"+getid()+'\t'+"工资:"+getpay()); System.out.println("员工正在工作!"); } }

//程序开始;class yg{ public static void main (String [] args) { String name = "小李"; String id = "yg001"; double pay = 4500; student a1 = new student(name,id,pay); } }
展开
 我来答
历盆郁7
2014-01-13 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:951万
展开全部

你的student里面没有定义构造器,所以报错,

其中的一个纠正方式如下:在你的student里面加上

    public student(String name, String id, double pay) {
        setname(name);
        setid(id);
        setpay(pay);
    }

这种方法不好,有更多的好的方法,说起来就太多了,也怕你理解不了,先这么用吧

Mandy_XiaoJ
推荐于2018-03-09 · TA获得超过146个赞
知道小有建树答主
回答量:435
采纳率:50%
帮助的人:122万
展开全部
楼主你好,抽象类是不能被实例化的呢!你在student类中加上构造函数 public work(name,id,pay); 这样子你的程序不会报错,但是输出为null
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿宇yuyuy
2019-04-18
知道答主
回答量:8
采纳率:0%
帮助的人:4858
展开全部
abstract class People { String name; String age; public People() { } public People(String n,String a) { name=n; age=a; } public abstract void show(); public abstract void work();}class Student extends People { String degree; public void Student(String d) { degree=d; } public void show() { System.out.println("姓名:"+this.name+" "+"年龄:"+this.age+" "+"学位:"+this.degree); } public void work() { System.out.println("学生的工作是学习!"); }}class Teacher extends People { String unit; public void Teacher(String u) { unit=u; } public void show() { System.out.println("姓名:"+this.name+" "+"年龄:"+this.age+" "+"单位:"+this.unit); } public void work() { System.out.println("教师的工作是教学!"); }}public class GJN{ public static void main(String[] args){ Student s=new Student(); Teacher t=new Teacher(); s.name="须须"; s.age="18"; s.degree="本科"; t.name="阿宇"; t.age="25"; t.unit="大学生导师"; s.show(); s.work(); t.show(); t.work(); }}

abstract class People { String name; String age; public People() { } public People(String n,String a) { name=n; age=a; } public abstract void show(); public abstract void work();}class Student extends People { String degree; public Student(String n,String a,String d) { super(n,a); degree=d; } public void show() { System.out.println("姓名:"+this.name+" "+"年龄:"+this.age+" "+"学位:"+this.degree); } public void work() { System.out.println("学生的工作是学习!"); }}class Teacher extends People { String unit; public Teacher(String n,String a,String u) { super(n,a); unit=u; } public void show() { System.out.println("姓名:"+this.name+" "+"年龄:"+this.age+" "+"单位:"+this.unit); } public void work() { System.out.println("教师的工作是教学!"); }}public class GJN{ public static void main(String[] args){ Student s=new Student("须须","18","本科"); Teacher t=new Teacher("阿宇","25","大学生导师"); s.show(); s.work(); t.show(); t.work(); }}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式