zoukankan      html  css  js  c++  java
  • 访问权限控制

    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;
    }
  • 相关阅读:
    离散数学--第十章 群,环,域
    离散数学--十一章 格与布尔代数
    matplotlib 基础|笔记
    CF Round #632 div2
    Codeforces Round#630 div2
    PVZ 2--攻略合集?
    【POJ
    【POJ
    【Aizu
    【Aizu
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256171.html
Copyright © 2011-2022 走看看