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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高薇 中级黑马   /  2012-11-1 10:54  /  1812 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.构造方法protected修饰,就不能实例化了,对吗?那么,如果想使用此类中的其他方法,必须先找到此类中返回值为类名的一个new开头的方法,这样理解对吗?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

3 个回复

倒序浏览
构造方法用protected修饰后就表示已经私有化了,被私有化的构造方法在外部不能使用,只能从其内部取得实例化对象,而要使用一个类中的方法必须先创建并实例化一个对象,
就是要调用该类的一个构造方法。不知道这样说你明白了吗?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
protected 修饰的话是保护,应该不是不能实例化,在protected的权限内应该还是可以实例化的。(我学习不好,没有记住权限,您查一下。)
被private 修饰的是不能实例化的。
如果要是外部调用的话,有两种方法:
1,类中的方法或属性是静态的。
2,用一个方法返回,一般把这个方法叫做:getInstance(),这是一个静态的方法。貌似有一些java中自带的类就是私有的或是抽象的,还要对这些对象进行操作就用getInstance。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报


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

  √


protected



×
friendly(default)


×
×
private

×
×
×


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

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

评分

参与人数 1技术分 +2 收起 理由
滔哥 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马