为了账号安全,请及时绑定邮箱和手机立即绑定

public有什么用?

public class HelloWorld {
	
	public float zjc;
	static float zjc2;
	public static float zjc3;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(zjc);//eclipse给画了红波浪线= =
		System.out.println(zjc2);
		System.out.println(zjc3);

	}
}

问题来了,public究竟有什么用?本以为public用来修饰方法,static既可以用来修饰方法又可以用来修饰成员变量,现在才知道还可以修饰成员变量,但有什么用吗?

之前学到public修饰的成员可以被任何代码调用,不太理解,究竟和static有什么不同?

正在回答

4 回答

public是访问修饰符没错,但static不是什么设置访问权限。

我们正常要用类的成员或者方法都要先实例化对象后才能用(对象.方法()或者对象.变量)。但如果某方法或成员是static声明的就可以不需要实例化对象就可以直接引。比如:

未声明为static
class Person{
int age;
public void  move(){

}
}
class Girl{
void  run(){
int girlAge;
Person p= new Person();
girlAge= p.age; //这里通过对象引用访问成员变量age
p.move(); //这里通过对象引用访问成员函数move()

}
}


声明为static
class Person{
static int heigh;
static void move(){

}
}
class Boy{
void run(){
int boyHeigh;
boyHeigh = Person.heigh; //这里通过类名访问成员变量heigh
Person.move(); //这里通过类名访问成员函数move()
}
}

0 回复 有任何疑惑可以回复我~
#1

慕虎7175789 提问者

非常感谢!
2017-07-28 回复 有任何疑惑可以回复我~

public是所有包内的类和方法都可以调用,porjected是本包里所有类与方法可以调用,private是只有本类和本类的方法可以调用。

感觉这个教程的教学思路很有问题。我网上下了一个JAVA入门到精通 第四版的光盘内容,里面的讲解很全也很容易懂。

0 回复 有任何疑惑可以回复我~

理解为谁都去调用 

0 回复 有任何疑惑可以回复我~

public是访问修饰符  而static是设置访问权限的   访问修饰符被访问权限从大到小的有public,protected,default(默认的),private.  因此public所修饰的可以在整个项目中被访问,而带有静态修饰符static修饰的只能被带有static的所访问.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

public有什么用?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信