java学习笔记(三)java中的修饰符abstract、static与final
来源:互联网 发布:华讯网络工资 编辑:程序博客网 时间:2024/04/29 05:09
一、四种访问级别的访问范围
访问级别访问修饰符同类同包子类不同的包公开public受保护protected默认没有访问修饰符私有的private
二、使用abstract修饰符需要遵守的语法规则
1、抽象类中可以没有抽象方法,但是包含抽象方法的类必须定义为抽象类,即用abstract修饰;
2、抽象类跟抽象方法不能被final修饰符修饰;
3、抽象类中可以有非抽象方法,因为继承抽象类的子类必须重写父类中所有的抽象方法,因此抽象类中不能有抽象构造方法和抽象静态方法;
4、抽象方法没有方法体;
5、如果子类没有重写父类中的抽象方法,则子类也必须定义为abstract。
package wbb.java.modifies;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午2:52 * To change this template use File | Settings | File Templates. */public abstract class AbstractDemo { public abstract void xxx();}abstract class Test extends AbstractDemo {// public void xxx(){} //用abstract修饰子类,或者重写父类中的抽象方法}作用:实现多态。
三、修饰符static
static可以用来修饰成员变量,成员方法,代码块。
1、被static修饰的成员变量和成员方法,可以直接用类名.静态变量或静态方法直接调用;
2、被static修饰的代码块称为静态代码块,当java虚拟机加载类时,就会执行该代码块。
注:静态变量与实例变量的区别是:java虚拟机只会为静态变量分配一次内存,而没创建一个实例变量虚拟机就会为其分配一次内存。其作用是能被类的所有实例共享,可作为势力之间进行交流的共享数据。例如我们在项目中经常会执行同样的SQL语句,这样每次都要写一次sql语句未免显得过于繁琐,我们可以专门写个类用于存放哪些常用的SQL语句,里面只定义各种需要重复执行的SQL语句的静态变量。
package wbb.java.modifies;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午3:45 * To change this template use File | Settings | File Templates. */public class StaticDemo { public static final String sqlStr = "SELECT * FROM DUAL";}class A extends StaticDemo{ StaticDemo a = new StaticDemo(); public static void main(String[] args) { System.out.println(StaticDemo.sqlStr); }}
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的.静态代码块的作用可用于初始化类,给类的成员变量赋值等等。
package wbb.java.modifies;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午4:04 * To change this template use File | Settings | File Templates. */public class StaticProgram { static { System.out.println("静态代码块执行"); } public static void main(String[] args) { //运行结果:输出“静态代码块执行” }}
四、final修饰符
final意为“不可改变的”,可以修饰非抽象类、非抽象成员方法和变量。1、被final修饰的类不能被继承,没有子类;
2、被final修饰的方法不能被子类的方法覆盖;
3、用final修饰的变量表示常量,只能被赋值一次;
package wbb.java.modifies;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午4:10 * To change this template use File | Settings | File Templates. */public final class FinalDemo { private static final int num = 1; public static void main(String[] args) {// num ++; 被final修饰的变量不能改变 }}//class TestFinalClass extends FinalDemo {} 被final修饰的类不能被继承class TestFinalFun { public final void finalFun() { }}class TestFinalFun2 extends TestFinalFun {// public void finalFun() { } 被final修饰的方法不能被重写}
0 0
- java学习笔记(三)java中的修饰符abstract、static与final
- java中的三大修饰符static、final、abstract
- java中的三大修饰符static、final、abstract
- Java中的abstract,static,final修饰符
- Java中的abstract,static,final修饰符
- java中的修饰符static/final/abstract/
- java中的修饰符static,final和abstract
- Java中的3个修饰符static、final、abstract
- Java修饰符static,final,abstract
- Java static、final、abstract修饰
- java学习笔记之static,final,abstract修饰符和接口
- Java中的修饰符说明(public,private,protected,default,final,abstract,static)
- 转载 java修饰符public final static abstract transient
- Java修饰符 abstract,static,final 的区别
- Java修饰符 abstract,static,final 的区别详解
- Java修饰符 abstract,static,final 的区别详解
- Java修饰符 abstract,static,final 的区别详解
- java基础--static、final、abstract修饰符小结
- Android手机越用越卡怎么回事?怎么解决?
- 汇编语言学习笔记(十五)外中断
- OTN中的AMP,BMP,GMP,GFP-F
- 利用SQL临时表判断用户是否登录
- 跨平台文件操作
- java学习笔记(三)java中的修饰符abstract、static与final
- GWT 把FileUpload控件替换为一个按钮实现
- Linux - SecureCRT 中 sqlplus 配置 远程连接Linux下的sqlplus中退格键
- 汇编语言学习笔记(十六)直接定址表
- gcc
- ORA-00600: internal error code, arguments: [qerltcUserIterGet_1], [1], [1], [], [], [], [], [], [],
- odis 常用指令
- sprintf(char *buffer, const char *format, [ argument] … )
- 九九乘法表 批处理版