【Java】abstract,final,static,private,protected,public的区别
【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的区别的更多相关文章
- [Java] Protect, Private and Public的区别
Java中的private.protected.public和default的区别 (2014-03-21 22:29:14) 转载▼ 标签: java java修饰符 it (1)对于publi ...
- private,protected,public和default的区别
private,protected,public和default的区别 除了default以外,其他都是Java语言的关键字.default代表的是对类成员没有进行修饰的情况.它本身也代表了一种访问控 ...
- @private@protected@public@package
@private@protected@public@package 为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性 但是为了提供灵活性,苹果也让开发者显式设置范围(四选一) ...
- 转 Java中final、finally、finalize的区别与用法
Java中final.finally.finalize的区别与用法 1.简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承.finally是异常处理语句结构 ...
- Java中 final static super this instanceof 关键字用法
一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
- oc 中四种实例变量的范围类型@private@protected@public@package
To enforce the ability of an object to hide its data, the compiler limits the scope of instance vari ...
- iOS中四种实例变量的范围类型@private@protected@public@package
文档上记录是这样的 The Scope of Instance Variables Toenforce the ability of an object to hide its data, the c ...
- 对private protected public的详解:
#include <iostream> #include <stack> #include <queue> #include <exception> # ...
随机推荐
- CRM系统知识点之一权限(RBAC)
一个项目可以有多个应用 一个做成组件 一个做逻辑判断一个应用(做成组件形式)可以服务于多个项目 rbac权限(role-base access control)who what how什么样的角色对什 ...
- shell 脚本解压war包+备份+tomcat自动关闭+启动
公司的开发环境每次替换war包时候,老是需要重新上传并且手动解压,然后再去重启tomcat.觉得这样子太麻烦了,于是写了一个shell脚本,自动解压+备份+tomcat自动关闭+启动.代码如下: #关 ...
- Leetcode- Find Minimum in Rotated Sorted Array-ZZ
http://changhaz.wordpress.com/2014/10/15/leetcode-find-minimum-in-rotated-sorted-array/ Suppose a so ...
- windows线程时间打印
https://blog.csdn.net/xingcen/article/details/70084029
- sql 嵌套查询
sql 某一字段 数量大于1 SELECT * FROM ecm_goods_spec AWHERE ( SELECT count( * ) FROM ecm_goods_spec BWHERE A. ...
- 玩转Metasploit系列(第一集)
"如果我有七个小时的时间来砍树,那么我一定会花6个小时来磨我的斧头." –Abraham Lincoln ??这句话一直引导着我做事的思路,而且从未改变过.这篇文章翻译自Offen ...
- UEditor 中配置可以跨域访问的图片路径
文档里很清楚:http://fex.baidu.com/ueditor/#server-path 进入配置文件 当域名不是直接配置到项目根目录时,例:http://a.com/b/c 域名下有两文件 ...
- (转)对于ESP、EBP寄存器的理解
原文地址https://blog.csdn.net/yeruby/article/details/39780943 esp是栈指针,是cpu机制决定的,push.pop指令会自动调整esp的值: eb ...
- Django 创建model的一些注意事项
自增主键字段¶ 默认情况下,Django 会给每个模型添加下面这个字段: id = models.AutoField(primary_key=True) 这是一个自增主键字段. 如果你想指定一个自定义 ...
- Mongod启动失败修复方法
可能的原因:上次服务未正常关闭 1.删除data/db目录下的mongo.lock文件 2.删除/tmp/mongodb-27017.sock文件