Java三大修饰符
1、static
修饰:
修饰属性:类变量,全类共有
修饰方法:静态方法,静态方法中不能直接访问非静态的方法和属性
静态方法只能被静态方法覆盖,并且没有多态
静态的方法或者属性不依赖于对象:类名.方法名(属性名直接访问)
修饰静态代码块:在类加载下执行
类加载: 在第一次使用这个类时(创建对象之前),JVM会通过classpath找到
对应.class文件,并且把类的信息加载起来。
2、final
最终的
修饰变量:常量(值不可以改变,只能赋值一次),修饰属性时,
要么直接给初始值,或者在构造方法中赋值
修饰方法:不能被覆盖
修饰类:不能被继承
3、abstract:抽象的,不完整的
修饰类:抽象类 有构造方法,但是不能创建对象
修饰方法:抽象方法,只有声明,没有实现
public abstract void m1();
注意:
①抽象类中可以没有抽象方法
②如果一个类中有抽象方法,那么他必须是抽象类
③如果一个类继承了抽象类,但不想成为抽象类,那么这个类必须实
现抽象类中的所有抽象方法
接口:
特殊的抽象类
1、接口中的方法都是公开抽象方法;public abstract void m();
2、接口中所有的属性都是公开静态常量 public static final int a = 0;
接口的关键字: interface
一个类要实现一个接口,那么这个类必须实现接口中所有的抽象方法
接口的作用:解耦合
Java三大修饰符的更多相关文章
- java访问修饰符
了解面向对象思想的同学们,都知道"封装"这一基本特征,如何正确运用访问修饰符,恰恰能体现出封装的好坏. java访问修饰符有四个: 1)public:访问权限最高,其修饰的类.类变 ...
- Java的修饰符
转自:http://blog.csdn.net/manyizilin/article/details/51926230#L42 修饰符: 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性.主 ...
- JAVA类型修饰符(public,protected,private,friendly)
JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...
- Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- Java类修饰符的使用与作用以及常见问题
首先明确,类是放在文件里的,在文件里面的不同位置就有不同的作用,就是不同类型的类. 1, 顶级类or外部类:包括两种,一个文件中与文件名同名称的类我们称作顶级类(也是外部类),如果在一个文件中的一个类 ...
- C#和JAVA 访问修饰符
JAVA ----------------------------------------------- 访问修饰符 描述 ------------------------------- ...
- 《Java基础知识》Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- Java static修饰符
Java static修饰符 static修饰符是静态修饰符,大家写Java第一次接触static就是主函数中的pubic static void main的声明了. 那么static有什么用?本文来 ...
- 详解java访问修饰符
详解java访问修饰符 为了防止初学者看到因为专业的术语而感觉晦涩难懂,我接下来尽量用生动比喻的说法来解释!首先第一点,我们来讲讲什么叫修饰符!看看这个名称,想想他的意思.修饰符!修饰符!,就是用来修 ...
随机推荐
- Android线程之基本用法
一: 在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二: Thread类代表线程类,它的两个最主要的方法是: ...
- STL中list用法
本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂.不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函 ...
- js 匿名函数 json
<script type="text/javascript"> var My_func = function(name){ this.obj_name=name; ...
- linux系统安装iprouter
在上文中将mpls编译进了linux内核,现在需要安装iprouter,安装过程如下: 1) 下载两个文件iproute2-2.6.39.tar.gz和iproute2-v2.6.39-mpls.pa ...
- Grunt构建工具插件篇——之less工具2
Grunt任务分为两部分,一部分是任务,即Grunt要执行的代码,找到对应功能的插件就成.所以等会要下载grunt-contrib- less包,这个插件便是把less文件编译成能直接使用的css.另 ...
- fastreport.net cdoe 自己的代码
//初始 Report report1 = new Report(); report1.Clear(); string Re ...
- Core Data使用之一(Swift): 保存
Core Data 用于永久化数据,它是基于SQLite数据库的保存一门技术. 那么,在Swift中,它是如何实现的呢? 首先,需要新建一个模板,打开工程中的xcdatamodeld文件,点击“Add ...
- Rest Project Performace Pressure Test
首次调整基线和配置修改 机器配置为 CPU: Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.6GHz 24core 内存: 128G JDK Ver: 1.7.0_80 To ...
- 直播流怎么存储在Ceph对象存储上? Linux内存文件系统tmpfs(/dev/shm) 的应用
一./dev/shm理论 默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录.可以通过df 命令查看结果./dev/shm/是linux下一个非常有用的目录,因为这 ...
- delphi下实现控制其它窗体中的控件代码模板(delphi 7安装程序)
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...