继承(菜鸟)

is__ing 2010-03-30 02:55:40
基本都是和书上格式是一样的
我只是为了熟悉一下构造自己写了
但是始终有错误很郁闷
上网看了 报错的 原因
云里雾里
然后有的说是和像在C++里面一样的在构造函数后面加一个表
我也不是很清楚在JAVA中到底构造函数怎么进行其父类的调用
希望可以解答一下

class People{
private String name;
private String sex;
private String ID;
public void Peopel(String n1,String s1,String i1){
name = n1;
sex = s1;
ID = i1;
}
public void Display(){
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("ID:"+ID);
}
}

class Student extends People{
private String xuehao;
private String banji;
public Student(final String n,final String s,final String i,final String x,final String b){
super();
xuehao = x;
banji = b;
}
public void Display(){
super.Display();
System.out.println("学号:"+xuehao);
System.out.println("班级:"+banji);
}
}

public class Test {
public static void main(String[]args){
//是下面一行有错 eclipse 是在第一个Carey 下面标注的红色波浪线,不明白哪里有错误
Student k = new Student( 'Carey' , '女' , '342916' , '0855150' , '信科');
k.Display();
}
}
//书上的构造函数是不用void的 但是在eclipse里提示有错 我加上后就没错了 这个也不明白是哪里的问题
//


只要是用心都有分,晚上来结贴。谢谢

...全文
99 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
keeya0416 2010-03-30
  • 打赏
  • 举报
回复
呵呵
你犯得都是一些小的细节 以后多注意 就可以了
keeya0416 2010-03-30
  • 打赏
  • 举报
回复
哪错了 你说下 我这是好的呀
is__ing 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 keeya0416 的回复:]
晕了 颜色不知道该怎么加 楼主将就着看吧
我文字都写清楚了
[/Quote]

我好了 是我自己在里面又加了一个项目之类的 导致的吧
工具也是才用
我用记事本 在DOS下编译时可以的 非常感谢
结贴~
is__ing 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 keeya0416 的回复:]
晕了 颜色不知道该怎么加 楼主将就着看吧
我文字都写清楚了
[/Quote]



class People{
private String name;
private String sex;
private String ID;
public People(String n1,String s1,String i1){
name = n1;
sex = s1;
ID = i1;
}
public void Display(){
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("ID:"+ID);
}
}

class Student extends People{
private String xuehao;
private String banji;
public Student(String n, String s, String i, String x, String b){
super(n,s,i);
xuehao = x;
banji = b;
}
public void Display(){
super.Display();
System.out.println("学号:"+xuehao);
System.out.println("班级:"+banji);
}
}

public class Test {
public static void main(String[]args){
Student k = new Student( "Carey" , "女" , "342916" , "0855150" , "信科");
k.Display();
}
}




我按照您的方法改了 但是依然报错
很抱歉将people给打错了,打成peopel 很对不起

希望可以得到您的答复 谢谢
ifrancis 2010-03-30
  • 打赏
  • 举报
回复
继承中的构造方法 典型问题
keeya0416 2010-03-30
  • 打赏
  • 举报
回复
晕了 颜色不知道该怎么加 楼主将就着看吧
我文字都写清楚了
znwuyan318 2010-03-30
  • 打赏
  • 举报
回复
应该是你的 类名 和你写的构造函数不同名 导致你的 构造函数被当作普通方法了
keeya0416 2010-03-30
  • 打赏
  • 举报
回复
怎么标注颜色没了 再发下

package com.keeya.csdn.test;

class People {
private String name;

private String sex;

private String ID;

public People(){

}


此处楼主你的方法名写错了 加了void后就成了一个普通方法
之前没加void报错是因为你的方法名没和类名一样的时候就是普通方法,普通方法得有返回类型;
public People(String n1, String s1, String i1) {
name = n1;
sex = s1;
ID = i1;
}

public void Display() {
System.out.println("姓名:" + name);
System.out.println("性别:" + sex);
System.out.println("ID:" + ID);
}
}

class Student extends People {
private String xuehao;

private String banji;

public Student(String n, String s, String i, String x, String b) {
此处调用的是父类的有构造函数,如果不传入参数,在父类没有无参构造函数的时候还会报错
本例中父类因为定义了有参构造函数,就不会再被默认有无参的那个了
如果需要的话也可以给父类手动加上无参构造函数(见父类)

super(n,s,i);
xuehao = x;
banji = b;
}

public void Display() {
super.Display();
System.out.println("学号:" + xuehao);
System.out.println("班级:" + banji);
}
}

public class Test {
public static void main(String[]args){
是下面一行有错 eclipse 是在第一个Carey 下面标注的红色波浪线,不明白哪里有错误
你的参数类型是 string (用 “”)但你此处用的都是 char(用 ‘’)

Student k = new Student( "Carey" , "女" , "342916" , "0855150" , "信科");
k.Display();
}
}
// 书上的构造函数是不用void的 但是在eclipse里提示有错 我加上后就没错了 这个也不明白是哪里的问题

keeya0416 2010-03-30
  • 打赏
  • 举报
回复
看标注

package com.keeya.csdn.test;

class People {
private String name;

private String sex;

private String ID;

public People(){

}


//此处楼主你的方法名写错了 加了void后就成了一个普通方法
//之前没加void报错是因为你的方法名没和类名一样的时候就是普通方法,普通方法得有返回类型;
public People(String n1, String s1, String i1) {
name = n1;
sex = s1;
ID = i1;
}

public void Display() {
System.out.println("姓名:" + name);
System.out.println("性别:" + sex);
System.out.println("ID:" + ID);
}
}

class Student extends People {
private String xuehao;

private String banji;

public Student(String n, String s, String i, String x, String b) {
//此处调用的是父类的有构造函数,如果不传入参数,在父类没有无参构造函数的时候还会报错
//本例中父类因为定义了有参构造函数,就不会再被默认有无参的那个了
//如果需要的话也可以给父类手动加上无参构造函数(见父类)
super(n,s,i);
xuehao = x;
banji = b;
}

public void Display() {
super.Display();
System.out.println("学号:" + xuehao);
System.out.println("班级:" + banji);
}
}

public class Test {
public static void main(String[]args){
// 是下面一行有错 eclipse 是在第一个Carey 下面标注的红色波浪线,不明白哪里有错误
//你的参数类型是 string (用 “”)但你此处用的都是 char(用 ‘’)
Student k = new Student( "Carey" , "女" , "342916" , "0855150" , "信科");
k.Display();
}
}
// 书上的构造函数是不用void的 但是在eclipse里提示有错 我加上后就没错了 这个也不明白是哪里的问题

bawgiitx 2010-03-30
  • 打赏
  • 举报
回复

public Student(final String n,final String s,final String i,final String x,final String b){
super(n,s,i);//调用构造函数
*************
keeya0416 2010-03-30
  • 打赏
  • 举报
回复

package com.keeya.csdn.test;

class People {
private String name;

private String sex;

private String ID;

public People(String n1, String s1, String i1) {
name = n1;
sex = s1;
ID = i1;
}

public void Display() {
System.out.println("姓名:" + name);
System.out.println("性别:" + sex);
System.out.println("ID:" + ID);
}
}

class Student extends People {
private String xuehao;

private String banji;

public Student(String n, String s, String i, String x, String b) {
super(n,s,i);
xuehao = x;
banji = b;
}

public void Display() {
super.Display();
System.out.println("学号:" + xuehao);
System.out.println("班级:" + banji);
}
}

public class Test {
public static void main(String[]args){
// 是下面一行有错 eclipse 是在第一个Carey 下面标注的红色波浪线,不明白哪里有错误
Student k = new Student( "Carey" , "女" , "342916" , "0855150" , "信科");
k.Display();
}
}
// 书上的构造函数是不用void的 但是在eclipse里提示有错 我加上后就没错了 这个也不明白是哪里的问题

keeya0416 2010-03-30
  • 打赏
  • 举报
回复
Student k = new Student( 'Carey' , '女' , '342916' , '0855150' , '信科');
改成
Student k = new Student( “Carey” , '女' , '342916' , '0855150' , '信科');

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧