基本都是和书上格式是一样的
我只是为了熟悉一下构造自己写了
但是始终有错误很郁闷
上网看了 报错的 原因
云里雾里
然后有的说是和像在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里提示有错 我加上后就没错了 这个也不明白是哪里的问题
//
只要是用心都有分,晚上来结贴。谢谢
我只是为了熟悉一下构造自己写了
但是始终有错误很郁闷
上网看了 报错的 原因
云里雾里
然后有的说是和像在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里提示有错 我加上后就没错了 这个也不明白是哪里的问题
//
只要是用心都有分,晚上来结贴。谢谢
改成
Student k = new Student( “Carey” , '女' , '342916' , '0855150' , '信科');
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里提示有错 我加上后就没错了 这个也不明白是哪里的问题
public Student(final String n,final String s,final String i,final String x,final String b){
super(n,s,i);//调用构造函数
*************
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里提示有错 我加上后就没错了 这个也不明白是哪里的问题
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里提示有错 我加上后就没错了 这个也不明白是哪里的问题
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 很对不起希望可以得到您的答复 谢谢
我好了 是我自己在里面又加了一个项目之类的 导致的吧
工具也是才用
我用记事本 在DOS下编译时可以的 非常感谢
结贴~