美文网首页
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