1、类变量

类变量是被类的所有实例共享的。

类变量具体放的位置在哪?在内存中的那个区域,这和jdk的版本是有关的

静态变量在类加载的时候就生成了,即使没有创建类实例也能访问,当然通过实例来实现

类变量定义
访问修饰符 static 类型 变量名

2、类方法

1、只需要在普通方法前面加上一个static就可以把该方法变成类方法

2、当方法中不涉及任何和对象相关的成员的时候把方法设置成静态方法可以提高效率

3、类方法中不允许使用和对象相关的关键字如this、super

类变量定义
访问修饰符 static 返回值类型 方法名(){}

我们需要记住静态方法只能访问静态成员,非静态可以访问静态和非静态

3、main方法

1、main方法是JVM在调用,访问权限必须是public

2、java虚拟机在调用main方法时不必实例化对象

使用细节

main方法可以直接使用静态成员,但不能直接使用非静态成员,如果要使用非静态成员需要实例化出来一个对象

代码块

代码块相当于构造器(或则说是对构造器的补充),可以做初始化操作

使用方法:当构造器中有多个重复语句时,使用比较方便

//修饰符可以写也可以不写,写的话就只能写static,后面的;可以写也可以不写
[修饰符]
{
};

使用细节:

1、如果修饰符是static,那么代码块在类加载时被执行,且只会被执行一次

2、类加载的时间:创建类的实例、创建子类的实例父类也会被加载、使用类的静

3、对象实例化时,类内部的执行顺序:1、静态代码块、静态属性初始化 2、普通代码块、普通属性初始化 3、构造器

4、先加载父类,再加载父类,再初始化父类再初始化子类

单例设计模式

保证一个类只有一个实例

单例模式分为两种一种是饿汉式、一种是懒汉式

1、将构造器私有化 2、在类的内部直接创建 3、提供一个static方法直接返回创建的对象

懒汉式和饿汉式的区别在于实例化的时间,饿汉式是在类加载的时候就创建了实例,懒汉式是在调用getInstance时才会创建实例

懒汉式不会造成资源的浪费

final

1、当一个类不希望被其他类继承时,可以在这个类前面加上final

2、当父类的一样方法不希望被重写时,可以用final修饰

3、当类的某个属性不希望被修改时,可以用final修饰,

其实可以这样理解当一个东西不希望被修改时,我们可以final修饰

使用细节

1、final修饰的属性被称为常量一般用大写字母+_组成,而且必须进行初始化

2、如果final修饰的是静态的,那么初始化时只能在定义时或则静态代码段

3、如果类不是final类,但是含有final方法,则该方法虽然不能重写,但却可以继承,子类使用。

4、如果类已经用final修饰了,就没有必要再用final修饰方法了。

5、包装类(Integer,Double,Float,Boolean等都是final),String也是final类。

Java面向对象(高级)的更多相关文章

  1. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:继承的应用

    class Array{ // 表示数组 private int temp[] ; // 整型数组 private int foot ; // 定义添加位置 public Array(int len) ...

  2. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:匿名内部类

    interface A{ public void printInfo() ; // } class B implements A{ // 实现接口 public void printInfo(){ S ...

  3. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:包装类

    public class WrapperDemo01{ public static void main(String args[]){ int x = 30 ; // 基本数据类型 Integer i ...

  4. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:Object类

    class Demo{ // 定义Demo类,实际上就是继承了Object类 }; public class ObjectDemo01{ public static void main(String ...

  5. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:宠物商店实例分析

    interface Pet{ // 定义宠物接口 public String getName() ; public String getColor() ; public int getAge() ; ...

  6. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:抽象类与接口的应用

    abstract class A{ // 定义抽象类A public abstract void print() ; // 定义抽象方法print() }; class B extends A { / ...

  7. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:instanceof关键字

    class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun ...

  8. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:对象的多态性

    class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun ...

  9. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:接口的基本实现

    interface A{ // 定义接口A public static final String AUTHOR = "李兴华" ; // 全局常量 public abstract ...

  10. 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:final关键字

    final class A{ // 使用final定义类,不能有子类 }; class B extends A{ // 错误,不能被继承 }; class A{ public final void p ...

随机推荐

  1. matlab gui .mat数据读取

    在matlab的gui中用load函数读取.mat等类型数据 %定义全局变量 global img_correct %读取数据名称及位置 [filename,pathname]=uigetfile({ ...

  2. ChatGPT在工业领域的研究与应用探索-产品化部署及应用

    <ChatGPT在工业领域的研究与应用探索-数据与工况认知> <ChatGPT在工业领域的研究与应用探索-AI助手实验应用> ChatGPT在工业领域的应用需要解决两个问题:( ...

  3. curl 调用url时带有&符号被截断

    转载请注明出处: 用curl命令在服务器上调试接口时,一直调试不通,执行如下: 在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的 ...

  4. Linux 上 KVM 虚拟机网络问题

    通过控制台连接虚拟机,ping自己的ip,ping宿主机的ip,ping同网段的ip 1. 自己的ip也不通,先检查网络配置 2. 宿主机的ip不通,就要确认下虚拟机网卡的类型 对于macvlan网卡 ...

  5. 与AI对话 -- 20230221 -- linux 性能分析相关的软件包

    linux 性能分析相关的软件包有哪些,各自包含了哪些命令 sysstat:sysstat 包含了丰富的监控系统性能的工具,例如 sar(系统性能分析器).iostat(设备 IO 状态分析器).mp ...

  6. radware 相关(alteon产品)

    目录 术语 组网 配置思路 IP 规划 负载均衡器的IP规划 服务器的IP规划 登陆设备 简单命令行配置 Main Menu 管理IP 确认设备版本 telnet/sshd/http enable 网 ...

  7. 类WPF跨平台模仿TIM

    类WPF跨平台模仿TIM Avalonia是什么? Avalonia 是一个功能强大的框架,使开发人员能够使用 .NET 创建跨平台应用程序.它使用自己的渲染引擎来绘制UI控件,确保在各种平台上保持一 ...

  8. Django: Token分发

    Django后台token分发 在settings.py中引入 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'd ...

  9. 【译】为你的 ASP. NET Core Web API 创建 Microsoft Power App

    通过轻松创建 Web API 前端来提升您的开发体验. 低代码工具在开发人员中越来越流行,因为用更少的代码更快地创建应用程序.在 Visual Studio 2022 17.6 预览版2中,您现在可以 ...

  10. 论文解读(DWL)《Dynamic Weighted Learning for Unsupervised Domain Adaptation》

    [ Wechat:Y466551 | 付费咨询,非诚勿扰 ] 论文信息 论文标题:Dynamic Weighted Learning for Unsupervised Domain Adaptatio ...