think in java第五章笔记

来源:互联网 发布:软件piano 编辑:程序博客网 时间:2024/05/16 05:21

1.默认是有好的。这意味着当前包内的其他所有类都能访问"友好的"成员,但对包外的所有类来说,这些成员却是"私有的",外界不得访问。

2.变成一个"友好"成员,方法是舍弃所有访问指示符,并将其类置于相同的包内。这样一来,其他类就可以访问成员。

3.如果不将一个"."作为classpath的一部分使用,java就不会考虑当前的目录。

4.

package c05.dessert;public class Cookie {public Cookie() {System.out.println("Cookie constructor!");}void _foo() {System.out.println("foo");}}import c05.dessert.*;public class Dinner() {public Dinner() {System.out.println("Dinner constructor");}public static void main(String[] args) {Cookie c = new Cookie();x._foo(); //can't access}}
foo()成员不可在Dinner.java内访问,因为foo()只有在dessert包内才是友好的。

5.private关键字意味着除非那个特定的类,而且从那个类的方法里,否则没有人能够访问那个成员。同一个包内的其他成员不能访问private成员。

class Sundate {private Sundate() {}static Sundate makeASundate() {return new Sundate();}}public class IceCream {public static void main(String[] args) {Sundate x = Sundate.makeASundate();}}
由于默认构建器是唯一获得定义的,而且它的属性是private,所以可以防止对这个类的继承。

6.若新建一个包,并从另一包内的某个类里继承,则唯一能够访问的成员就是原来那个包的public成员。当然,如果在相同的包里进行继承,那么继承获得的包能够访问所有"友好"的成员。

7.如果不针对类的访问设置一个访问指示符,那么它会自动默认为友好的。这意味着那个类的对象可由包内的其他类创建,但不能由包外创建。

0 0
原创粉丝点击