2 sinat 31621401 sinat_31621401 于 2016.03.24 17:30 提问

java构造方法的简单问题

大神们小弟编译这段代码时总是报错,不知道为啥,特此来请教一下。
public class Student{
String name;
Float score;
public void setName(String _name) {
name=_name;
}
public String getName(){
return name;
}
public void setScore(Float _score) {
score=_score;
}
public float getScore(){
return score;
}
Student(){
stu1.setName();
stu1.setScore();
}
Student(String _name,Float _score) {
name=_name;
score=_score;
}
public void introduce(){
System.out.println("我的名字是"+name+",我的成绩为"+score+"!");
}
}

public class Examp01{
public static void main(String[] args) {
Student stu1=new Student();
stu1.setName("Tom");
stu1.setScore("95.5");
stu1.introduce();
Student stu2=new Student("john",100.0);
stu2.introduce();
}

}
图片说明

8个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.03.24 17:57
已采纳

下划线是几个意思,,,

sinat_31621401
sinat_31621401 和属性区分一下
2 年多之前 回复
Chillier
Chillier   2016.03.24 17:37

# 1.你这个String_name 是连在一起写了吗,肯定得分开啊,如:String _name ,String是参数类型,_name是形式参数名、
# 2.有很多地方写的是string ,应该是String。

3.Student(){

student.setName;
student.setScore;
}
这一段,student这个对象根本是不存在的吧,setName和setScore方法都是对象方法,对象没有实例化更不能调用这两个方法。

sinat_31621401
sinat_31621401 大神帮人帮到底!我刚刚改了之后还是报错和以前的都不一样了,在帮我看一下被!
2 年多之前 回复
Chillier
Chillier 回复yaodexi93: 应该是stu1.setName();吧,需要一个括号
2 年多之前 回复
sinat_31621401
sinat_31621401 我改成stu1.setName和stu1.setScore只报错他们两个不是语句该怎么办呢?我想让stu1使用无参的构造方法然后调用方法给姓名和成绩赋值!
2 年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;我已经改成stu1.setName和stu1.setScore了,
2 年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;
2 年多之前 回复
sinat_31621401
sinat_31621401 student.setName; student.setScore;
2 年多之前 回复
bestlove12345
bestlove12345   2016.03.24 17:41

package student;

public class Student {
private String name;
private float score;
public Student() {
}

public Student(String name, float score) {
    this.name = name;
    this.score = score;
}


public String getName() {
    return name;
}


public void setName(String name) {
    this.name = name;
}


public float getScore() {
    return score;
}


public void setScore(float score) {
    this.score = score;
}


public static void main(String[] args) {

     Student stu1=new Student();
     stu1.setName("Tom");
     stu1.setScore(95);
     Student stu2=new Student("john",100);
     System.out.println("我的名字是"+stu1.getName()+",我的成绩为"+stu1.getScore()+"!");

}

}

love_register
love_register   2016.03.24 17:40

定义函数的参数的时候,你在类型和参数名之间少了个空格,然后他们就搞在一起了,算是一个东西了,,比如,你应该在(String_name),的String 和 _name
之间加个空格,然后再试试看

AinUser
AinUser   2016.03.24 21:29

1)你的命名方式:可以用一些比较人性化的命名:比如:set_name等,这样String_name,可能出错.
2)你的stu1和stu2,只是在main主方法里面写了,并不是全部变量,不可以在student里面调用
3)“Information” 这个属于String,并不是Float
4)如果可以定义变量属性为:Float,后面根本不用转化类型

yyqkn2015
yyqkn2015   2016.03.25 17:52

难道是同一批软件园培训的????????????????

qq_29829081
qq_29829081   2016.03.26 13:12

你的setScore(float _score)方法中,但是stu1.setScore("95.9")时,传的值又是字符串。

CSDNXIAOD
CSDNXIAOD   2016.03.30 11:22

构造方法(java)--关于学生信息的问题
java中的构造方法
java 构造方法
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java构造方法小例子
package 面向对象练习扩展; public class Number { private int n1; private int n2; Number(int a,int b){ n1=a; n2=b; } public static int addition(int x,int y){ return(x+y); } public static int subtration(int
【练习题】构造方法 编写Java程序,模拟简单的计算器。
package day09; /*1.【练习题】构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员 变量执行加、减、乘、除的运算。 在mai
java 构造方法的资源
java 构造方法 java 构造方法 java 构造方法
java中的构造方法实例
package com.neusoft.xf; class Student{     private String name;     private String studo;     private float english;     private float math;     private float computer;     public Student(Strin
Java构造方法注意事项
在Java中,如果程序中没有显示的给出构造方法,系统会自动提供一个无参的构造方法。 但是,如果程序中给出构造方法,不论给出的构造方法是否带有参数,系统都不在提供无参的构造方法。class Person { String name; int age; public Person(String name, int age) { this.name = name;
Java 使用Builder解决构造函数参数过多的问题
Effective Java学习笔记 通过使用Builder模式,解决构造函数中参数过多的问题
Java中构造方法、类方法、final方法的重载与覆盖问题
重载: 方法名相同,但是参数必须有区别(参数不同可以使类型不同,顺序不同,个数不同)。 覆盖: 子类继承父类的方法,并重新实现该方法。 构造方法:和类同名。为新建对象开辟内存空间后,用于初始化新建的对象;类方法:静态方法,static修饰;使用类名作为前缀调用,而不是类的某个实例对象名;不能被单独对象拥有,属于整个类共享。final方法:final修饰,可被子类继承(即子类可以直接使用),但
Java 类的成员变量和方法以及构造方法
首先要说的是对象,简单的说,对象是对客观世界中的实体的映射。通俗地理解就是客观世界的每一个事物都是一个对象。在java中,我们需要了解到的还有这个对象的属性和方法,即这个是事物的外观、大小等可描述的客观存在(就是所说的属性)还有这个事物所能实现的功能或者事物的行为(就是方法)。接下来要说的就是类,比如说人类,这是一种对人的统称,那一类就是对同一类型的对象的统称,简而言之,类就是对象的抽象和归纳,对
java构造方法
构造方法 解析 深度测试java的 构造方法
JAVA 构造函数注意事项
识别合法的构造方法;   1:构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行;     重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。     2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法;   3 子类通过super关