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

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 2015-12-30 01:53
    关注

    Phone pe = new Phone();

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)