黑马程序员技术交流社区
标题:
一个关于修饰符的问题
[打印本页]
作者:
坚强
时间:
2011-11-5 21:15
标题:
一个关于修饰符的问题
我刚接触java,在学习的时候发现对public private static 等修饰符有点混乱,不知道它们到底都具体能修饰什么,在修饰的时候有什么区别,还有就是main函数不是静态的吗,那怎么在主函数里访问非静态函数,通过对象访问吗?
作者:
高美云
时间:
2011-11-5 21:30
、public 公有成员函数可被任何其它对象和类的成员函数调用。 当该成员函数必须被该函数所在的层次结构之外的其他对象和类在访问时。
2、protected 被保护的成员函数可被它所在的类或该类的子类的任何成员函数调用。 当该成员函数提供的行为被它所在类的层次结构内部而非外部需要时。
3、private 私有成员函数只可以被该类所在的其它成员函数调用,该类的子类不可以调用。 当该成员函数所提供的行为明确针对定义它的类时。私有成员函数常常是重新分配要素的结果。重新分配要素又叫“重组”,指类内其它成员函数封装某一个特定行为的做法。
main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 test t=new test();
然后才能调用 test.main();
而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。
作者:
成杰
时间:
2011-11-5 21:32
在主函数中访问非静态的方法,可以通过对象来访问
作者:
坚强
时间:
2011-11-5 22:18
高美云 发表于 2011-11-5 21:30
、public 公有成员函数可被任何其它对象和类的成员函数调用。 当该成员函数必须被该函数所在的层次结构 ...
main()函数里面不是不能再出现main()函数了吗,test.main();这样的语句怎么个使用法,不要
public static void main(String[] args) ? 如果没有这句程序怎么开始?
作者:
张翼
时间:
2011-11-7 19:18
public表示可以被一切方法和对象访问;
private表示仅仅可以被自己类中方法和对象访问;
static表示该对象是类级别的,除了可以被对象访问,还可以被类访问;
还有public和private属于权限修饰符,static属于类型修饰符,放在一起应该是搞混概念了。
作者:
胡文杰
时间:
2011-11-7 20:48
public 就是共有的,在同一个类中直接写方法名就可以调用,在其他类中就要new一个对象来调用,private是私有的,只能在其所在的类中来调用,方法名调用!static在编译的时候,内存为其独立开辟一个空间,相当于一个全局变量,在内存中的地址不会改变,但是其中的变量值可以变化!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2