【发布时间】:2017-09-16 10:07:17
【问题描述】:
汽车.java
package com.krishna;
public class car {
private int door;
private int wheels;
private String model;
private String engine;
private String colour;
public void setModel(String model)
{
String validModel=model.toLowerCase();
if(validModel=="krish"||validModel=="raju")
{
this.model = model;
}
else
{
this.model="unknown";
}
}
public static String getModel()
{
return this.model;
}
}
Main.java
package com.krishna;
public class Main {
public static void main(String[] args) {
// write your code here
car obj1=new car();
car obj2=new car();
obj1.setModel("krish");
System.out.println(obj1.getModel());
}
}
静态函数在java中不能用这个关键字引用
【问题讨论】:
-
首先,问问自己:
getModel()方法中的this是什么对象?setModel()中的this是什么对象?提示:getModel()有static修饰符,而setModel()没有。 -
不是你问的,而是
if(validModel=="krish"||validModel=="raju")-> How do I compare strings in Java? -
在静态上下文中也没有
this。static表示成员(这里的方法)属于整个类,而不是特定实例。
标签: java