JAVA之访问控制符
1.访问修饰符
public:该类和非该类的均能访问
protect:该类和该类的子类,同一个包内的成员也能访问
默认:同一个包内的类可以访问
private:只有该类可以访问
特性:在继承的关系中,子类的访问修饰符的限制性不能大于父类的
• 变量和方法的修饰字public、protected、private
• public:
• public: 任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法
• 只有在使用 public 访问修饰符时,类的成员才可被同一包或不同包中的所有类访问。
• 也就是说,public 访问修饰符可以使类的特性公用于任何类。
• protected:
• 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用。
• 如果希望一个成员在当前包外可见,但仅仅是成员所在类的子类直接可见,就要使用 protected 修饰该成员。
• private:
• private 访问修饰符是限制性最大的一种访问修饰符。
• 被声明为private的成员只能被此类中的其他成员访问,不能被类外看到。
• 继承体系结构中最高级别的类决不会被声明为 private 类。
• 缺省的:
• 类是缺省的,该类具有包访问权限,只能被同一包中的其它类访问
2. 用static修饰符修饰,可以是变量、方法或代码块
• 类中的静态变量、方法属于类,而不属于某个特定的对象。 • 类的静态成员可以与类的名称一起使用,而无需创建类的对象。 • 静态变量或方法也称为类变量或类方法
静态方法:
• 与静态方法相关的几个要点:
– 类的静态方法只能访问其他的静态成员
– 静态方法没有this
– 静态方法不能被重写
静态代码块:
• 形式:static { ……}
• 如果需要通过计算来初始化静态变量,可以声明一个静态块。
• 静态块仅在该类被加载时执行一次
java类属性和对象属性的初始化顺序:
. 首先找到类中的所有静态声明语句(不管位置在哪),把他们初始化为缺省值;
. 然后再按照书写顺序依次处理每一个static的东西;
. 把对象属性初始化为缺省值;
. 按照书写顺序依次处理每一个对象属性的初始化语句最后执行构造函数;
public class Test { // 代码块
{
System.out.println("3");
} {
System.out.println("4");
} static {
System.out.println("1");
} static {
System.out.println("2");
} public Test() {
System.out.println("构造函数");
} public static void main(String[] args) {
new Test();
}
}
输出:1.2.3.4.构造函数
3.final
• final关键字:final 修饰符可应用于类、方法和变量。 • final在应用于类、方法和变量时意义是不同的,但本质是一样的:final表示不可改变。 • 声明为final的类不能被继承。 • 声明的方法不能被重写,如果一个类是final类,那么它的所有方法都隐式的是final方法; • 声明的变量必须赋初值。它实质上就是一个常量;
JAVA之访问控制符的更多相关文章
- Java知多少(19)访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...
- Java基础--访问权限控制符
今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2 ...
- Java 访问控制符
Java提供了3个访问控制符:private.protected和public,分别代表了3个访问控制级别,另外还有一个不加任何访问控制符的访问控制级别,提供了4个访问控制级别.Java的访问控制级别 ...
- Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- java中的访问控制符
首先来一张图: 对于一个类而言访问控制符只有一个public和默认无修饰符.其他的几个访问修饰符对于变量和方法都可以使用. 下面介绍具体的使用. 1. 公有访问控制符(public) Java的类是通 ...
- AJPFX关于java中可访问控制符和非访问控制符的详细总结
1.类的修饰符分为:可访问控制符和非访问控制符两种. 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract :最终类修饰符 final 1 )公共类修饰符 pub ...
- 《Java基础知识》Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- java类的访问控制符与其他几个特殊修饰符的总结
1 访问控制符 1.1 字段或者方法的访问控制符 同一个类中 同一个包中 不同包中的子类 不同包中的非子类 private YES 默认(包可访问) YES YES prot ...
- java - day008 -final ,static ,访问控制符.
面向对象 封装 类: 模板 对象: 实例 引用,遥控器 构造方法 新建对象时执行 ...
随机推荐
- BZOJ2425:[HAOI2010]计数(数位DP)
Description 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1 ...
- 【洛谷】【动态规划(多维)】P1006 传纸条
[题目描述:] 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸 ...
- PHP microtime() 函数
定义和用法 microtime() 函数返回当前 Unix 时间戳和微秒数. 语法 microtime(get_as_float) 参数 描述 get_as_float 如果给出了 get_as_fl ...
- VC++获取当前路径及程序名的实现代码
VC上或取当前路径有多种方法,最常用的是使用 GetCurrentDirectory和GetModuleFileName函数,个中都有诸多注意事项,特别总结一下 一.获取当前运行目录的绝对路径 1.使 ...
- RadioButtonFor值为false.默认选中的问题
(自己看了下.图片有点宽.显示的不全.可以右键新标签查看) 作为一个新手.今天又开始了mvc的学习之旅.然而学习过程中又遇到了一个奇妙的问题.... 一切按部就班到了这里.注册界面. 一眼看上去就不对 ...
- 【vue】vue生命周期解读 (流程+钩子函数)
参考详细说明一波简书 (vue中钩子函数解读) 1.实例渲染流程 2.生命周期钩子函数比 钩子函数详解简书一 钩子函数详解简书二
- 在CentOS/RHEL 6.4上安装Chromium
是的,之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了.虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了:但是,目 ...
- postmark使用
一.Postmark原理 Postmark是由着名的NAS提供商NetApp开发,用来测试其产品的后端存储性能. Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是: ...
- mysql/mariadb学习记录——查询
连接查询:同时设计两个及以上的表的查询 连接条件或连接谓词:用来连接两个表的条件一般格式: [<表名1>]<列名1> <比较运算符> [<表名2>]&l ...
- 利用IPC通道进行进程间通信(C#)
有一个解决方案,其中包括一个Windows服务和一个Windows应用程序,两者之间需要进行通信.查了下,可以使用多种方法,如Web service(适用于不同系统及跨平台情况)..NET Remot ...