美文网首页
java基础--final,static,包,访问权限

java基础--final,static,包,访问权限

作者: silingling | 来源:发表于2017-06-01 19:47 被阅读0次
    final

    被final声明的属性其值通常是不可修改的,所以只有get方法,没有set方法。并且变量要大写,如下:

    private final String COUNTRY="中国";
    
    1. 使用final声明的属性为常量,常量不可修改。
    2. final声明的类不能被继承。
    3. final声明的方法不能被子类重写。
    static

    static声明的属性为全局属性,多个对象共享同一个内存空间。
    static声明的变量为静态变量,声明的方法为静态方法,静态变量和静态方法都是被该类所有对象所共享的。
    static变量和static方法的调用:直接用类名调用,类名.变量名/类名.方法名,如

    public class Person {
           private  static String name="wang";
    }
    Person.name;
    

    注意:在静态方法中不能访问非静态变量和非静态方法,但是在非静态方法中可以访问静态变量和静态方法。

    是在使用多个类或接口时,为了避免名称重复而采用的一种措施,类似于操作系统中的文件目录。
    目的:

    1. 避免重名冲突。
    2. 实现访问权限控制。

    声明方式:package 包名.子包名 .子子包名;包名必须采用小写英文字母。

    包的导入

    如果要在一个类中导入另一个包中的类,需用到import,例如

    package testone;
    import com.wang.Person;
    public class Test {
        public static void main(String[] args) {
            Person p=new Person();
        }
    }
    

    表示在包testone的类Test中导入包com.wang中的类Person。

    包的访问权限

    -private:可以定义方法、属性,但都不能被类的外部看到
    -default:可以在本包中的任意地方访问
    -protected:保护,不同包的非子类不可以访问
    -public:公共的,都可以访问,不受任何的限制

    范围 private default protected public
    同一类 可以 可以 可以 可以
    同一包中的类 可以 可以 可以
    不同包的子类 可以 可以
    其它包中的类 可以

    相关文章

      网友评论

          本文标题:java基础--final,static,包,访问权限

          本文链接:https://www.haomeiwen.com/subject/ywwefxtx.html