黑马程序员技术交流社区

标题: [打印本页]

作者: 高薇    时间: 2012-11-1 10:54
标题:
1.构造方法protected修饰,就不能实例化了,对吗?那么,如果想使用此类中的其他方法,必须先找到此类中返回值为类名的一个new开头的方法,这样理解对吗?
作者: 张胜格    时间: 2012-11-1 11:09
构造方法用protected修饰后就表示已经私有化了,被私有化的构造方法在外部不能使用,只能从其内部取得实例化对象,而要使用一个类中的方法必须先创建并实例化一个对象,
就是要调用该类的一个构造方法。不知道这样说你明白了吗?
作者: jsfjb    时间: 2012-11-1 11:30
protected 修饰的话是保护,应该不是不能实例化,在protected的权限内应该还是可以实例化的。(我学习不好,没有记住权限,您查一下。)
被private 修饰的是不能实例化的。
如果要是外部调用的话,有两种方法:
1,类中的方法或属性是静态的。
2,用一个方法返回,一般把这个方法叫做:getInstance(),这是一个静态的方法。貌似有一些java中自带的类就是私有的或是抽象的,还要对这些对象进行操作就用getInstance。
作者: 王亚运    时间: 2012-11-1 11:46


作用域  
当前类  
同package  
子孙类
其他package
public

  √


protected



×
friendly(default)


×
×
private

×
×
×


没太明白你说的意思。
是不是 在类里面 把构造方法用protected 修饰,然后如何访问此类里面的其他方法?
我理解是,构造方法私有化后,可以在此类建立一个get方法实现此类的实例化,也就是用new创建一个此类对象,
然后,其他类若想使用此类的其他方法,就可以调用这个get方法,然后就可以使用类里的其他方法。
或者,把此类静态修饰(static),把方法(static)也修饰这样,就不用建立实例对象就可以使用静态方法。(静态方法只能调用静态函数)。

参考 单例设计模式 day06_9. 和静态方法使用,day06_3
如有说错,楼下指正。{:soso_e141:}






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