my_mo_csdn
莫默csdn
2015-12-30 00:52
采纳率: 100%
浏览 2.6k
已采纳

java 创建对象调用方法问题

我创建了三个类,一个手机类,一个学生类,一个测试类,为什么在测试类里面创建了手机类的对象之后可以调用手机类的方法,而在学生类里面创建了手机类的对象却无法调用手机类的方法呢?求助,,,,新手,,,,main方法在测试类中,

public class Phone {
//private int price;
//private String brand;
//private String color;

 int price;
 String brand;
 String color;

//price的set方法
public void setPrice(int price){
    this.price = price;
}
//price的get方法
public int getPrice(){
    return price;
}

//brand的set方法
public void setBrand(String brand){
    this.brand = brand;
}
//brand的get方法
public String getBrand(){
    return brand;
}

//color的set方法
public void setColor(String color){
    this.color = color;
}
//color的get方法
public String getColor(){
    return color;
}

}

public class StudentTest {
public static void main(String[] args) {
// TODO Auto-generated method stub

    //测试类中创建手机对象
    Phone pho = new Phone();  
    pho.setPrice(2000);
    pho.setBrand("huawei");
    pho.setColor("red");

    System.out.println(pho.getPrice() );
    System.out.println(pho.getBrand() );
    System.out.println(pho.getColor() );


}

}

import java.util.Scanner;
public class Student {

/**
 * @param args
 */

private int age = 15;
private int num = 101;
private String prov = "湖南";
private String name = "张三";

//年龄设置方法
public void setAge(int age){
    this.age = age;
}
//年龄获得方法
public int getAge(){
    return age;
}

//学号设置方法
public void setNum(int num){
    this.num = num;
}
//学号获得方法
public int getNum(){
    return num;
}

//姓名设置方法
public void setName(String name){
    this.name = name;
}
//姓名获得方法
public String getName(){
    return name;
}

//省份设置方法
public void setProv(String prov){
    this.prov = prov;
}
//省份获得方法
public String getProv(){
    return prov;
}
//学生类中创建手机对象
Phone pe = new Phone();  
pe.setPrice(2000);  

}

谢谢大家,pe.setPrice(2000); 这一句总是报错,注释掉这句就没问题了,不知道为什么,,,,

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • youzhi1225
    youzhi1225 2015-12-30 01:53
    已采纳

    Phone pe = new Phone();

    pe.setPrice(2000); 这俩句代码你放在了类体中。
    其中,Phone pe = new Phone(); 放在类体没有问题,可以作为声明初始化成员变量;
    但pe.setPrice(2000); 是在调用方法,此代码必须放在方法体中,才可以;
    你可以尝试随意声明一个方法,在方法中执行这两句代码,就不会有问题

    点赞 评论
  • qq_26946497
    谁用了我的英文名 2015-12-30 00:57

    代码要发上来看。=_=这样谁知道呢

    点赞 评论
  • mo_fan_qing_wa
    modelfrog 2015-12-30 01:17

    首先,你的测试类有main()方法--->程序的入口,程序可以执行
    其次,你在javaBean中创建了另一个类的对象,但是没有创建这个对象相应的构造器回报如下错误:Syntax error on token(s), misplaced construct(s)
    再者,既然对象都无法创建,更别提去使用这个对象来调用他的方法了。

    点赞 评论
  • mo_fan_qing_wa
    modelfrog 2015-12-30 01:18

    首先,你的测试类有main()方法--->程序的入口,程序可以执行
    其次,你在javaBean中创建了另一个类的对象,但是没有创建这个对象相应的构造器回报如下错误:Syntax error on token(s), misplaced construct(s)
    再者,既然对象都无法创建,更别提去使用这个对象来调用他的方法了。

    点赞 评论
  • heilinshuguang
    java_迷 2015-12-30 02:05

    代码你放在了类体中。和你测试类比较下。你测试类这两句方在了main方法下面。你在student类中却放在了class下面。

    点赞 评论

相关推荐