访问权限控制

  1. package语句必须是文件中的第一行非注释程序代码。
  2. 假设存在类wjc.one.Vector.wjc和wjc.two.Vector.wjc,然后在Main类中同时引入包wjc.one.*和wjc.two.*,代码三中注释行会编译报错(编译器会无法识别是哪一个Vector),所以只能使用全路径的方式使用Vector类。
//代码一
package wjc.one;
public class Vector {}
//代码二
package wjc.two;
public class Vector {}
//代码三
package wjc.main;
import wjc.one.*;
import wjc.two.*;
public class Main {
    public static void main(String[] args) {
            //Vector v=new Vector();
        wjc.one.Vector v=new wjc.one.Vector();
    }

}
  1. 静态引入类Vector可以直接调用Vector中静态方法,如同方法在类Main内部一样。
package wjc.main;
//静态引入Vector
import static wjc.one.Vector.*;

public class Main {
    public static void main(String[] args) {
        //可以直接调用Vector中的print(String str)方法
        print("str");
    }
}
package wjc.one;
public class Vector {
    public static void print(String str) {
        System.out.print(str);
    }
}
  1. 类的访问控制修饰符一般只有public和默认包访问权限(内部类是可以是private和protected,121页此处有一问?),如果想控制类的使用范围,可以用构造方法的访问权限来控制。如:将public类的构造方法定义为private,则类只能在内部实例化。此时不影响static方法和域的访问,即使构造方法为private仍然可以通过类名.静态方法调用类中的静态方法。
package classaccess.one;
public class Main {
    public static void main(String[] args) {
        System.out.println(ClassAccess.i);
    }
}
class ClassAccess{
    private ClassAccess(){}
    public static int i=1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值