A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 坚强 黑马帝   /  2011-11-5 21:15  /  1477 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  我刚接触java,在学习的时候发现对public  private static   等修饰符有点混乱,不知道它们到底都具体能修饰什么,在修饰的时候有什么区别,还有就是main函数不是静态的吗,那怎么在主函数里访问非静态函数,通过对象访问吗?

评分

参与人数 1技术分 +1 收起 理由
李印东老师 + 1 要努力啦。。

查看全部评分

5 个回复

倒序浏览
、public   公有成员函数可被任何其它对象和类的成员函数调用。   当该成员函数必须被该函数所在的层次结构之外的其他对象和类在访问时。     
  2、protected   被保护的成员函数可被它所在的类或该类的子类的任何成员函数调用。   当该成员函数提供的行为被它所在类的层次结构内部而非外部需要时。     
  3、private   私有成员函数只可以被该类所在的其它成员函数调用,该类的子类不可以调用。   当该成员函数所提供的行为明确针对定义它的类时。私有成员函数常常是重新分配要素的结果。重新分配要素又叫“重组”,指类内其它成员函数封装某一个特定行为的做法。
main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样  test t=new test();
然后才能调用 test.main();  
而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 不错哈。

查看全部评分

回复 使用道具 举报
在主函数中访问非静态的方法,可以通过对象来访问
回复 使用道具 举报
高美云 发表于 2011-11-5 21:30
、public   公有成员函数可被任何其它对象和类的成员函数调用。   当该成员函数必须被该函数所在的层次结构 ...

  main()函数里面不是不能再出现main()函数了吗,test.main();这样的语句怎么个使用法,不要
public static void main(String[] args) ?  如果没有这句程序怎么开始?

回复 使用道具 举报
public表示可以被一切方法和对象访问;
private表示仅仅可以被自己类中方法和对象访问;
static表示该对象是类级别的,除了可以被对象访问,还可以被类访问;
还有public和private属于权限修饰符,static属于类型修饰符,放在一起应该是搞混概念了。
回复 使用道具 举报
public 就是共有的,在同一个类中直接写方法名就可以调用,在其他类中就要new一个对象来调用,private是私有的,只能在其所在的类中来调用,方法名调用!static在编译的时候,内存为其独立开辟一个空间,相当于一个全局变量,在内存中的地址不会改变,但是其中的变量值可以变化!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马