JAVA中的权限修饰符

Java中修饰符总结:

访问控制修饰符

作用: 用于控制被修饰变量、方法、类的可见范围.

public 的访问级别是最高的,其次是 protected、默认和 private.

成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有.

存在继承关系时,父类不可以是 private,因为子类无法继承

顶层类可以处于公开或默认级别,顶层类不能被 protected 和 private 修饰.

局部变量不能被访问控制修饰符修饰 .

在不同包下面能够访问的权限修饰符只有: pulbic 与protected,但是 protected 必须要有继承的关系才能够访问。

abstract 修饰符

抽象类不能被实例化.

抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象方法.

如果子类没有实现父类中所有的抽象方法,子类也必须定义为抽象类.

抽象类不能被定义为 private、final、和 static 类型.

没有抽象的构造方法.

抽象方法没有方法体,如果一个方法没有方法体,那么该方法必须声明为抽象的方法.

非抽象类继承抽象类的时候,必须要把抽象类中的所有抽象方法实现.

final 修饰符

final 变量必须被显式初始化,并且只能被赋值一次值

final 修饰基本类型变量的时候, 该变量不能重新赋值

final 修饰引用类型变量的时候, 该变量不能重新指向其他对象

final 修饰的方法为最终的方法, 该方法不能被重写

private 类型的方法都默认为是final方法,因而也不能被子类重写

final 修饰的类为最终的类, 不能被继承

static 修饰符

如果声明了静态方法或变量,值是放在方法区,因为方法区是一个数据共享区;所以不管什么变量访问它,都是同一份.

在静态方法中不能直接访问实例方法和实例变量.

在静态方法中不能使用 this 和 super 关键字.

静态方法不能被 abstract 修饰.

静态的成员变量可以使用类名或者是对象进行访问,非静态成员变量只能使用对象进行访问.

静态函数可以直接访问静态的成员,但是不能够直接访问非静态成员.,非静态函数可以访问静态和非静态成员.

当类被加载时,静态代码块只能被执行一次。类中不同的静态方法代码块按他们在类中出现的顺序被依次执行.

当多个修饰符连用时,修饰符的顺序可以颠倒,不过作为普遍遵守的编码规范,通常把访问控制修饰符放在首位,其次是 static 或 abstact 修饰符,接着就是其他的修饰符

时间: 2024-08-29 16:28:47

JAVA中的权限修饰符的相关文章

java中访问权限修饰符

java中的访问权限修饰符共有四种,分别为private.default.protected.public,它们的访问权限依次升高,private只能被本类所调用,default(不写的话默认为default)可以被同一个包下的所有类所调用,protected既可以被同一个包下的所有类所调用,也能被不同包下的子类所调用(即必须要有继承关系),而public则为公开的,项目下所有包的所有类都可进行调用. 代码测试如下: , 经测试结果如下: 除private类报错外,其余各访问权限修饰词均在本包其

Java中,权限修饰符的权限测试

============================================================================= 1. 1 /* 2 权限修饰符的权限测试: 3 4 权限修饰符 本类中 同一个包下的子类和无关类 不同包下的子类 不同包下的无关类 5 private Yes No No No 6 默认 Yes Yes No No 7 protected Yes Yes Yes No 8 public Yes Yes Yes Yes 9 */ 10 11 p

java中访问权限修饰符解析

访问权限控制修饰符:public protected 默认(default) private this static super final abstract 其中abstract这个修饰符脾气很大,这个修饰符不能与static private final共存对于final,表示最终,final修饰变量,那么这个变量第一次被赋值后,就不能被再次赋值,也可以把它理解为常量,注意内存空间里面的常量池...这是方法区里面一块特殊的内存空间...final修饰类,表示这个类是最终类,也就是说,不能有子类

Java语言中的权限修饰符

1.Java语言中的权限修饰符主要包括private,public ,default , protected ,这些修饰符控制着对类和类的成员变量以及成员方法的访问. 用权限修饰符修饰变量时的语法格式: puclic 类型  属性0; private 类型 属性1; private 类型 属性2; 类型 属性3;(default权限修饰符一般不写) 如果一个类的成员变量被修饰为private的时候,则该成员变量只能在本类中使用,在子类中是不可见的.如果非要调用,通过get/set方法就可以获取.

java中4种修饰符访问权限的区别及详解全过程

java中4种修饰符访问权限的区别及详解全过程 http://jingyan.baidu.com/article/fedf0737700b3335ac8977ca.html java中4中修饰符分别为public.protect.default.private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高. 下面详细讲述下它们的访问权限问题.(同一个类中除内部类外所有修饰符都是可以访问的,所以下面排除这种情况.) 首先在这里把它们的访问权限表示出来:

(转) java中的访问修饰符

对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节.访问控制分为四种级别: (1)public: 用public修饰的类.类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问: (2)protected: 用protected修饰的类.类属变量及

详解Java中的访问控制修饰符(public, protected, default, private)

Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  

Java中的类修饰符

资料主要来源于网络(http://60.28.60.3/zy/java-new/zhishidian/chap3/3.htm) 之前每次写小测试程序的时候,总是把一个类放在一个Java文件中,按理说这样比较规范,可主要原因是我是在不知道怎么在一个文件里放多个类,可见java基础有多差了...只要把类的属性改成默认的就可以了,也就是前面什么控制符都不加,采用默认的方式. Java语言程序设计中,定义类时除了要使用class 关键字说明所定义的数据类型是类,还可以在 class 之前增加若干类的修饰

java 中的 final修饰符

修饰符final:是常量,不允许改变 ,可以修饰 变量,方法 ,类 final修饰变量:被final修饰的变量就会变成常量,一旦赋值不能改变 常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值 常量不会有默认初始值 锁定栈,使栈中的数据不可以改变 静态常量只能在初始化时直接赋值 final修饰方法:被final修饰的方法将不能被其子类覆盖,保持方法的稳定不能被覆盖 final修饰类:被final修饰的类将不能被继承          final类中的方