今天来说一下JAVA中的修饰符和类的加裁机制。
首先来说一下修饰符吧就说几个面试常遇到的吧。
1、static修饰符:
static定义的是为整个类共有的一块存储区域。
1)当它修饰类的属性时,这个属性被称为类变量,为一个类共享的变量,它属于整个类。
可以直接通过类名来访问它。
2)修饰方法称为表态方法
可以直接通过类名来访问本方法。
但要注意的是:在本方法中只能访问其它的static成员,不能访问非static成员。但是在非static方法即可以访问非static的又可以访问static的成员。在static方法中不能出现this关键字。在重写上如果父类的方法是static的那么在子类中不可以将其重写为非static的。同样如果父类的方法是非static的那么在子类中也不可以将其重写为static的。也就是static的方法可以被重写,但是没有多态。
3)用static来修饰一段代码称为静态代码块
在这里要注意的是(1)被修饰的代码块是在类中的,而不是在方法中。
(2)静态的代码块只在类被加裁时执行一次,只后不会再被执行。
2、final修饰符:
1)修饰变量:叫作常量。修饰实例变量叫作实例常量。
(1)当修饰实例变量时,实例变量不会自动初始化为0。
(2)对于实例常量的赋值只有两次机会,一次是在初始化属性时,一次是调用构造方法时
(3)常和static、public配合来修饰一个实例常量
(4)修饰局部变量称为局部常量,修饰静态变量称为静态常量
(5)如果修饰方法那么该方法不会被重写。
(6)如果修饰类那么该类不能被继承。
3、abstract修饰符
1)修饰类被称为抽象类,那么该类不能被实例化但可以有构造方法,可以被继承。可以大其它类中声明一个该类的引用,只能做为编译时类型,不能做为运行时类型。
2)可以修饰方法
要记住:abstract不能和private、static、final同时出现。
4)interface(接口)
1)在接口中所有的方法都是public abstract的。
2)在接口中所有属性都是public static final的
3)接口可以实现多继承,接口可以继承接口
4)在接口中没有构造方法,不能实例化,但可以声明一个接口的引用
再来说一下类的加载机制
1、在虚拟机的生命周期中一个类只被加裁一次
2、加载的原则是:延迟加载
3、类加载的时机
1)当第一次创建对象时要加载
2)调用static方法时要加裁,访问static属性时要加裁,调用static代码块时要加载
3)当加载子类时会先加裁父类
4)创建对象引用时不加裁类
5)子类调用父类的static方法时会加裁
在这里要注意的是:当子类没有重写父类的static方法时,只加裁父类不加裁子类。当子类重写了父类的静态方法时既加裁父类又加裁子类。
6)访问static常量时,如果编译器在以计算出常量的值可以不加裁类,否则会加裁。
7)用Class.forName(类名)来显示的加载一个类
分享到:
相关推荐
【Java SE学习笔记】是针对Java初学者的一份详实的学习资源,主要涵盖了Java的基础知识、进阶概念以及编程实践。这份笔记以HTML格式呈现,方便读者在线阅读或下载后离线浏览。以下是对这份笔记可能包含的重要知识点...
Java SE学习笔记(适合初学者)
**JAVA SE学习笔记** 在Java SE(标准版)的学习中,我们主要关注的是Java编程语言的基础和核心特性,包括但不限于语法、数据类型、控制结构、类与对象、接口、异常处理、多线程、集合框架、输入/输出(I/O)系统、...
【Java SE学习笔记详解】 Java SE(Standard Edition)是Java平台的核心部分,它为开发桌面应用、服务器端应用以及中间件提供了基础。本笔记主要基于MLDN(Microsoft Learning Dynamic Network)李兴华老师的2009年...
《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...
这份"java se个人学习笔记"显然是一份对Java SE基础知识的详细记录,由一位初学者整理,旨在帮助其他初学者理解这个强大的编程语言。笔记中可能涵盖了以下几个关键知识点: 1. **基础语法**:Java的基本数据类型、...
Java SE(标准版)是Java开发平台的核心部分,它提供了编写、运行和部署桌面应用程序所需的类库和工具。这份“非常详细JavaSE学习...无论你是初学者还是有经验的开发者,这份详尽的Java SE学习笔记都是一个宝贵的资源。
本资源提供了一个系统的 Java 学习笔记,涵盖了 Java 基础、面向对象、Java SE 核心等方面的知识,旨在帮助初学者快速掌握 Java 开发的基本概念和思路。 1. Java 基础 Java 是一种高级的编程语言,它具有平台独立...
计算机基础知识是学习计算机科学和技术的基础,它...总结来说,了解计算机基础知识对于深入学习Java SE或其他计算机编程语言是十分必要的。它不仅为我们打下坚实的理论基础,还能帮助我们更好地理解和使用计算机技术。
### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...
《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...
"Java学习资料"这个压缩包显然包含了一些关于Java SE(标准版)的基础学习资源,包括笔记和实际的演示案例代码项目。Java SE是Java的核心部分,主要用于桌面应用和服务器端开发。 在Java的学习过程中,笔记通常会...
Java SE(标准版)是Java编程语言的核心部分,它提供了基础的类库和API,用于构建桌面应用程序。本文主要探讨了Java SE中的几个关键概念,包括类与对象、方法、继承、构造方法、多态性以及抽象类。 1. 类与对象:在...
【JAVA SE 归档笔记】是一份由多位IT行业高手共同编撰的珍贵资料,旨在为初学者提供学习指引,并作为经验丰富的开发者们的参考手册。这份笔记深入浅出地涵盖了JAVA SE(Java Standard Edition)的核心知识点,对于...
1. **Java环境搭建**:首先,学习Java SE需要安装Java Development Kit (JDK),设置好环境变量`JAVA_HOME`、`PATH`和`CLASSPATH`,以便于编译和运行Java程序。 2. **Java语法基础**:Java是一种面向对象的语言,其...
"Java 学习笔记" Java 是一种面向对象的程序语言,具有跨平台的可能性。Java 的特性包括简单、面向对象、网络、解译、坚固、安全、可携和高效能。Java 平台包括 Java SE、Java EE 和 Java ME, Java SE 是 Java ...
●本书是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案, ●针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新, ●...