1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
2017-08-28
已采纳回答 / 慕粉3631469
那当然也不同了,虽然Iphone1类和Iphone2类的属性相同,值也相同,但父类Iphone1下有一个隐式的equals方法,比较的是对象的引用,而Iphone2类中你重写了equals方法,比较的是对象的类型,这两个equals方法的类型、名称虽然相同,但方法内的代码不同,所以无论属性如何,对象iphone和对象iphone2的类型都是不同的。所以,要在保证对象方法完全一样的前提下,去比较属性名和属性值是否相同。<...图片...>
2017-08-28
实际上初始化块是一个假象;使用javac命令编译后,该Java类中的初始化块会消失——初始化块中的代码会被“还原”到每个构造器中,且位于构造器所有代码的前面。(引自疯狂JAVA)
另外注意:不能在构造方法内声明变量,实现在外就要声明。
希望顶上去,让更多人看到
另外注意:不能在构造方法内声明变量,实现在外就要声明。
希望顶上去,让更多人看到
2017-08-28
public class HelloWorld {
static int score1 = 86;
static int score2 = 92;
static int score;
public static int sum(){
return score = score1 + score2;
}
public static void main(String[] args) {
HelloWorld.sum();
int allScore = score;
System.out.println("总分"+allScore);
}
}
static int score1 = 86;
static int score2 = 92;
static int score;
public static int sum(){
return score = score1 + score2;
}
public static void main(String[] args) {
HelloWorld.sum();
int allScore = score;
System.out.println("总分"+allScore);
}
}
2017-08-28
package liangxianwen4;
public class Text {
public static void main(String[] args) {
Shape m = new Rectangle();
m.getarea();
Shape z = new Rectangle();
m.getgirth();
Shape m1 = new Circle();
m1.getarea();
Shape z1 = new Circle();
z1.getgirth();
}
}
public class Text {
public static void main(String[] args) {
Shape m = new Rectangle();
m.getarea();
Shape z = new Rectangle();
m.getgirth();
Shape m1 = new Circle();
m1.getarea();
Shape z1 = new Circle();
z1.getgirth();
}
}
2017-08-27
package liangxianwen4;
public class Circle extends Shape {
public void getarea() {
double area = 3.14 *(radii*radii);
System.out.println(area);
}
public void getgirth() {
double girth = 3.14 *(radii*2);
System.out.println(girth );
}
}
public class Circle extends Shape {
public void getarea() {
double area = 3.14 *(radii*radii);
System.out.println(area);
}
public void getgirth() {
double girth = 3.14 *(radii*2);
System.out.println(girth );
}
}
2017-08-27