黑马程序员技术交流社区

标题: 在封装中提供访问方式的问题 求大神解答 [打印本页]

作者: 你好我是潘机智    时间: 2015-3-24 21:27
标题: 在封装中提供访问方式的问题 求大神解答
public static void age和
public void age的区别
age之间没有联系 只是一个名词 只是不知道不加static的语句表达的意思
求大神解答
作者: 你好我是潘机智    时间: 2015-3-24 21:49
自己顶一下
作者: shi469391    时间: 2015-3-24 21:56
static意思是静态的,可以理解为共享的;用static修饰的age可以被其他对象(包括静态的和非静态的调用),反之如果没有static修饰,则age只能被其他非静态的对象调用,说白了其实就是一个调用权限修饰符
作者: 你好我是潘机智    时间: 2015-3-24 22:01
shi469391 发表于 2015-3-24 21:56
static意思是静态的,可以理解为共享的;用static修饰的age可以被其他对象(包括静态的和非静态的调用), ...

是不是就是 没有static的类 不能被其他的类调用 但是可以被主函数调用?
作者: shi469391    时间: 2015-3-24 22:11
你上面的age并没有class修饰啊,不是问的static修饰类这个问题啊,如果是类的话前面必须是class体现;主函数就是我们说的main()函数,前面都是用static修饰的(是必须有的),主函数可不能调用类的啊,必须由一个类new(创建)一个对象才能用的;如果在主函数内定义的age,相当于是局部(函数内部变量),就不需要static修饰就由主函数调用,如果是在主函数外或者其他类下定义的age,主函数调用age的话,该age必须用static修饰(因为主函数本身就是用static修饰的)
作者: 你好我是潘机智    时间: 2015-3-24 22:14
shi469391 发表于 2015-3-24 22:11
你上面的age并没有class修饰啊,不是问的static修饰类这个问题啊,如果是类的话前面必须是class体现;主函 ...

哦哦 我想问的其实是 没有用static修饰的函数是不是不能被其他函数调用 但是可以再主函数里被调用 我是这个意思 刚才打错了
作者: shi469391    时间: 2015-3-24 22:29
基础学的不牢固啊,主函数也就是main()函数,是程序的入口,java虚拟机jvm识别的入口必须用了static修饰,jvm才可以发现,所以主函数就是也一定是静态(static)函数,然后记住:用static修饰的函数只可以调用static修饰的函数,没有static修饰的函数既可以调用没有static修饰的函数,也可以调用static修饰的函数
作者: 你好我是潘机智    时间: 2015-3-24 22:40
shi469391 发表于 2015-3-24 22:29
基础学的不牢固啊,主函数也就是main()函数,是程序的入口,java虚拟机jvm识别的入口必须用了static修饰 ...

好的 是不牢固 多谢啦
作者: 圣光忏悔    时间: 2015-3-24 22:54
加了static的变量 方法,public修饰的类中可以直接用类名.方法名  类名.变量名来调用,
作者: 山里孩子    时间: 2015-3-24 23:13
本帖最后由 山里孩子 于 2015-3-24 23:14 编辑

不应该用static修饰的,静态的方法,不用创建对象就可以使用.而这样的话就不符合逻辑了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2