菜鸟问JAVA

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:01:15
我知道,如果类名是A,那么在类中PUBLIC A 即和类名相同是 方法,那如果PUBLIC B 和类名不同了 是什么啊?(可以看下面的代码的@#行对比)

给出一段代码
public class tp
{
int i=47 *
public void call(){ @
for(i=0;i<3;i++){
system.out.print(i+"");
if(i==2){
system.out.println("\n");
}
}
}
public tp(){} #

public..main(..){
tp t1=new tp();
tp t2=new tp();
t2.i=60;
system.out.println(""+t1.i++)
t1.call();
system.out.println(""+t2.i);
t2.call()
}
}
这样输出的结果是: 47 0 1 2
60 0 1 2
但如果把*号行加一个static修饰int 输出的结果是:
60 0 1 2
3 0 1 2
请帮忙讲讲static的区别,通俗点谢谢,类学的比较混乱,答好给加分!
谁能给我讲下,为什么加过STATIC后,输出的值是3~

和类名相同的是构造方法,和类名不同的是普通方法(main()除外)

当你把int加了static修饰了以后,这个类的所有对象的该变量都调用的是同一个

不加static修饰的时候t1的i和t2的i分别是不同的,但是加了static后t1和t2的i都是一个,所以t1的变了t2的也跟着变。

需要加强对实例对象的理解

方法是后面带()的。这是最简单的记法
像这种public tp()
public void call()的都是方法
那么在类中PUBLIC A 即和类名相同不相同的都是方法,相同的叫构造函数,名不同的就是普通的方法

方法名和类名相同的那是构造方法,它的任务是初始化对象
这些是最基本的东西,看看书吧!

public class tp //这是声明一个类,tp是类名
{
int i=47 *
public void call(){ @ //这是声明类的方法,一个类可以有多个方法
for(i=0;i<3;i++){
system.out.print(i+"");
if(i==2){
system.out.println("\n");
}
}
}
public tp(){} # //这个跟类名名字一样的方法是类的构造方法。
//如果你创建一个类的实例,就是用这个方法创建的,一般来说必须要有的。

public..main(.){//带main的方法是执行方法,表明这是一个可以自动执行的类
tp t1=new tp(); //方法里面是执行的内容
tp t2=new tp();
t2.i=60;
system.out.println(""+t1.i++)
t1.call();
system.out.println(""+t2.i);