【abstract】抽象的

1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法。抽象类不一定有抽象方法,但拥有抽象方法的类一定是抽象类;

2. 被abstract修饰的类不能直接实例化,需要通过子类实现,所以抽象类一定有子类;

3. 继承抽象类的子类必须要重写抽象类中被abstract修饰的抽象方法,如果不继承就必须要把自己变成抽象的子类。

【final】最终的

1. final可以修饰类,成员变量,成员方法,局部变量/形参。

2. final修饰的类不能被继承(即不能有子类);

3. final修饰的方法不能被重写;

4. final修饰的成员变量是常量,必须在定义时就必须给一个终值,并且不能改变,不能重新赋值;

5. final修饰的局部变量、形参只能接收赋值一次,一旦赋值成功,就不能改变,不能重新赋值。

【static】静态的

1. static 可以修饰成员变量,成员方法;被static修饰的会被当前类的所有对象共享;

2. static 修饰的成员变量和成员方法会被放在JVM的静态方法区,随着类的加载而加载,可以使用类名或引用调用;

3. static修饰的成员方法只能调用static修饰的成员变量,非静态的成员变量不能调用;

【private】私有的

1. private可以修饰成员变量和成员方法;

2. 被private修饰的成员变量和成员方法只能被当前类访问,其他类不能访问;

3. 被private修饰的成员方法不能被重写。

【protected】

1. protected 可以修饰成员变量和成员方法;

2. 被protected修饰的成员变量和成员方法可以被当前类和当前类的子类访问,其他类不能访问;

3. 被protected修饰的成员方法可以被子类重写

【public】公共的

1. public修饰的类,成员变量,成员方法都是公共的,可以被所有类直接访问

【Java】abstract,final,static,private,protected,public的区别的更多相关文章

  1. [Java] Protect, Private and Public的区别

    Java中的private.protected.public和default的区别 (2014-03-21 22:29:14) 转载▼ 标签: java java修饰符 it   (1)对于publi ...

  2. private,protected,public和default的区别

    private,protected,public和default的区别 除了default以外,其他都是Java语言的关键字.default代表的是对类成员没有进行修饰的情况.它本身也代表了一种访问控 ...

  3. @private@protected@public@package

    @private@protected@public@package 为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性 但是为了提供灵活性,苹果也让开发者显式设置范围(四选一) ...

  4. 转 Java中final、finally、finalize的区别与用法

    Java中final.finally.finalize的区别与用法   1.简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承.finally是异常处理语句结构 ...

  5. Java中 final static super this instanceof 关键字用法

    一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...

  6. java 关键字final static native详解

    java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...

  7. oc 中四种实例变量的范围类型@private@protected@public@package

    To enforce the ability of an object to hide its data, the compiler limits the scope of instance vari ...

  8. iOS中四种实例变量的范围类型@private@protected@public@package

    文档上记录是这样的 The Scope of Instance Variables Toenforce the ability of an object to hide its data, the c ...

  9. 对private protected public的详解:

    #include <iostream> #include <stack> #include <queue> #include <exception> # ...

随机推荐

  1. Jmeter参数化设置,多用户登录

    一.模拟多用户登录场景 如登录模式如下图所示,登录界面中需要输入:用户名.密码.验证码 用户名以及密码均是固定值,不需要做处理.验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询. 在此场景 ...

  2. javascript 同源策略及web安全

    同源策略为什么而生? JS可以读取/修改网页的值. 一个浏览器中,打开一个银行网站和一个恶意网站,如果恶意网站能够对银行网站进行修改,那么就会很危险. 你打开了恶意网站和另一个网站,如果没有同源限制, ...

  3. 基于bootstrap的手机界面tab样式调整

    这是调整后手机页面的样子(pc端的样式还是bootstrap原来的样式,没有改变的): html结构为: <div class="tab" role="tabpan ...

  4. C++ Deque(双向队列)

      C++ Deque(双向队列)是一种优化了的.对序列两端元素进行添加和删除操作的基本序列容器.它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的 ...

  5. mongodb数据库备份恢复-windows系统

    备份语法: mongodump命令脚本语法如下: >mongodump -h dbhost -d dbname -o dbdirectory -h: MongDB所在服务器地址,例如:127.0 ...

  6. 【Leetcode】【Medium】Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  7. VMWARE里安装时出现'SMBus Host Controller not enabled'

    在虚拟机上运行Linux内核版本为4.7或以上的系统都在安装过程中或在启动时会因为加载intel_powerclamp驱动而导致崩溃.解决办法:1.在启动Ubuntu的时候按住左Shift键:2.Ub ...

  8. Carbon中文使用手册

    Introduction Carbon 继承了PHP的 Datetime 类和JsonSerialiable.所以 Carbon 中没有涉及到的,但在 Datetime 和JsonSerializab ...

  9. linux 里的`反引号

    Shell中可以将数字或字符直接赋予变量,也可以将Linux命令的执行结果赋予变量,如下: (1) $ count=9           #将数字赋予变量count (2) $ name=" ...

  10. Java中类继承、接口实现的一些要注意的细节问题

    1.接口A和接口B有相同的方法,只是返回值不同,则实现类不能同时实现这两个接口中的方法. 接口A有void C()方法,接口B有int C()方法,则无法同时实现这两个接口. Java为了弥补类单继承 ...