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之访问控制符的更多相关文章

  1. Java知多少(19)访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...

  2. Java基础--访问权限控制符

    今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2 ...

  3. Java 访问控制符

    Java提供了3个访问控制符:private.protected和public,分别代表了3个访问控制级别,另外还有一个不加任何访问控制符的访问控制级别,提供了4个访问控制级别.Java的访问控制级别 ...

  4. Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...

  5. java中的访问控制符

    首先来一张图: 对于一个类而言访问控制符只有一个public和默认无修饰符.其他的几个访问修饰符对于变量和方法都可以使用. 下面介绍具体的使用. 1. 公有访问控制符(public) Java的类是通 ...

  6. AJPFX关于java中可访问控制符和非访问控制符的详细总结

    1.类的修饰符分为:可访问控制符和非访问控制符两种. 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract :最终类修饰符 final 1 )公共类修饰符 pub ...

  7. 《Java基础知识》Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...

  8. java类的访问控制符与其他几个特殊修饰符的总结

    1  访问控制符 1.1 字段或者方法的访问控制符   同一个类中 同一个包中 不同包中的子类 不同包中的非子类 private YES       默认(包可访问) YES YES     prot ...

  9. java - day008 -final ,static ,访问控制符.

    面向对象   封装         类: 模板         对象: 实例         引用,遥控器         构造方法                新建对象时执行           ...

随机推荐

  1. 一些需要禁用的PHP危险函数

    phpinfo()功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息.危险等级:中 passthru()功能描述:允许执行一个外部程序并回显输出,类似于 exec().危险等级:高 e ...

  2. 20145203盖泽双 《Java程序设计》第四周学习总结

    20145203盖泽双 <Java程序设计>第四周学习总结 教材学习内容总结 1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单 ...

  3. Mysql 多实例实施步骤

    基本理论:利用同一套安装程序,不同配置文件,不同启动程序,不同数据目录.有公用资源,也有私有资源. 实现步骤: 1.正常安装mysql,二进制安装或者编译安装. 2.创建mysql多实例总目录,总目录 ...

  4. pytest 失败重跑截图

    1.环境准备 /*@param: 作者:流浪的python Date:2019/01/19 env:python 3.7(由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9 ...

  5. Spring Cloud和Dubbo整合开发笔记(1)

    一.需求背景: 公司内部老项目微服务技术栈使用Dubbo, 新项目技术栈使用主流的Spring Cloud相关组件开发,新旧项目涉及交互调用,无法直接通信数据传递. 老项目基于Dubbo,重构代码升级 ...

  6. oracle 表的创建与管理 约束

    在 Oracle 之中数据表就被称为数据库对象,而对象的操作语法一共有三种:· 创建对象:CREATE 对象类型 对象名称 [选项]:· 删除对象:DROP 对象类型 对象名称 [选项]:· 修改对象 ...

  7. Java-数组队列

    Java-数组队列 1.为何要创建一个数组队列? 数组的优点和缺点: 优点:访问速度是所有数据结构中最快的一种. 缺点:大小固定,如果要存储的数据个数不确定的时候?      数组空间不够,导致越界异 ...

  8. 函数的返回值是void

    #include <stdio.h> void sub(int x,int y,int z){ z=y-x; } void main() { int a=1,b=2,c=3; sub(10 ...

  9. ACM1001:Sum Problem

    Problem Description In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.   Input ...

  10. C 共享内存封装

    引言 - 背景 2016 年写过一篇关于 linux 共享内存 shm api 扫盲文. C扩展 从共享内存shm到memcache外部内存 比较简单. 没有深入分析(能力有限, 也深入分析不了). ...