【Java学习笔记】修饰符

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.修饰顶层类(不是指在一个类中定义的类)包括abstract、public、final。局部变量只能用final修饰。

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

1.修饰顶层类(不是指在一个类中定义的类)包括abstract、public、final。局部变量只能用final修饰。
2.一个类中,可以访问类本身或内部类的实例的私有成员。
3.abstract修饰符:
形成抽象类和抽象方法,前者不能创建对象(但是可以创建一个引用变量,其类型时抽象类,但是它引用非抽象的子类的一个实例),后者不提供具体实现。抽象类中可以没有抽象方法,但是包含抽象方法的类必须是抽象类。若子类没有实现父类中所有的抽象方法,那么子类也必须被定义为抽象类。实现抽象方法直接使用覆盖。不存在抽象构造方法,更不存在抽象静态方法。abstact和final不能同时使用。
4.final修饰符:
final修饰的类不能被继承,没有子类。
final修饰的方法不能被子类的方法覆盖。
final修饰的变量是常量,只能赋值一次。
final不能修饰构造方法。
private类型由于其不能被子类方法所覆盖,其默认的为final类型。
注意:
a.final类型的成员变量必须显式初始化.其中实例变量还可以在构造方法中初始化。
b.若将引用类型的变量用final修饰,那么该变量只能始终引用一个对象。
5.静态修饰符:
用static修饰的成员变量和成员方法,可以直接通过类名访问。
用static修饰的代码块,JVM加载类的时候就会执行。
static变量在某种程度上类似于C语言的全局变量相似.
static方法可以直接使用类名进行访问,只能直接访问所属类的静态变量和静态方法。要访问非静态的变量和方法则使用一个对象引用来进行。但相对的,实例方法却可以直接访问所属类的静态变量和静态方法和实例变量以及实例方法。它必须被实现(也就是说不能被abstract,它俩永远是一对冤家)。但是要注意的是,方法的字节码都在方法区,而引用都在堆上。
static块:类的构造方法用来初始化类的实例,而类的静态代码块则可用于初始化类,给类的静态变量赋初值。它和静态方法一样,不能直接访问类的实例变量和实例方法,而必须通过实例的引用来访问它们。

 

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
4月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
7月前
|
安全 Java 编译器
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
53 4
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
2月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
43 0
|
2月前
|
Java 程序员 开发工具
java学习笔记
java学习笔记
40 0
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
164 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
40 6