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

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 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线