做app网站建设,深圳宝安网站设计,泰国清迈房产网站大全,手机网站优化怎么做【Java 类】002-类、属性、方法、代码块 文章目录【Java 类】002-类、属性、方法、代码块一、类1、类与对象2、类的作用3、创建与使用类类结构创建类调用类运行结果4、Java 类的执行过程5、封装、继承、多态、抽象类、内部类、接口、枚举、记录、注解等二、属性1、概述2、类型3…【Java 类】002-类、属性、方法、代码块 文章目录【Java 类】002-类、属性、方法、代码块一、类1、类与对象2、类的作用3、创建与使用类类结构创建类调用类运行结果4、Java 类的执行过程5、封装、继承、多态、抽象类、内部类、接口、枚举、记录、注解等二、属性1、概述2、类型3、定义属性4、修改与访问属性5、成员变量和局部变量的区别6、静态属性三、方法1、概述2、方法的内容3、定义方法4、调用方法5、静态方法、方法重载、方法重写四、代码块1、概述2、代码块顺序一、类
1、类与对象
在面向对象编程中类Class是一种用户定义的数据类型用于描述对象的属性和方法。它是面向对象编程的基本概念之一可以看做是一种模板或蓝图用于创建对象。
类定义了对象的属性和方法属性表示对象的特征或状态方法表示对象的行为或功能。在 Java 中类是一种引用类型它定义了一组属性和方法并且可以通过关键字 new 创建多个对象。
2、类的作用
Java 类是面向对象编程的基本单位它的作用包括
封装数据和行为类可以将数据和行为封装在一起形成一个独立的模块。封装可以隐藏对象的实现细节提高代码的可维护性和安全性。继承类可以通过继承现有类的属性和方法来扩展自己的功能。继承可以减少代码的重复提高代码的可复用性和可维护性。多态类可以通过多态来实现同一种行为具有不同的表现形式。多态可以提高代码的灵活性和扩展性。对象的创建和销毁类是创建对象的模板通过类可以创建多个对象。同时类也可以定义对象的销毁方式通过垃圾回收机制自动回收不再使用的对象。数据类型扩展Java 提供了基本数据类型但是有时候需要使用自定义的数据类型类可以用来定义自定义数据类型扩展 Java数据 类型的能力。
3、创建与使用类
类结构
public class ClassName {// 类的成员变量// 类的构造方法// 类的成员方法// ...
}创建类
package main;public class Person {// 成员变量private String name;private int age;// 在有带参的构造方法时一个无参的构造方法是必不可少的public Person() {}// 构造方法public Person(String name, int age) {this.name name;this.age age;}// 成员方法public void sayHello() {System.out.println(Hello, my name is name , Im age years old.);}
}调用类
package main;/*** author zibo* date 2023/3/5 12:35* slogan 真正的大师永远怀着一颗学徒的心。——易大师*/
public class Main {public static void main(String[] args) {// 调用带参构造创建对象Person person new Person(zibo, 26);// 通过对象调用方法person.sayHello();}
}运行结果
Hello, my name is zibo, Im 26 years old.4、Java 类的执行过程
Java 类的执行过程主要包括以下几个阶段
加载Loading通过类加载器ClassLoader将类的字节码文件.class 文件加载到 JVM 内存中生成一个对应的 Class 对象。验证Verification对字节码文件进行校验以确保符合 JVM 规范例如是否有不合法的指令或常量池中的常量引用不存在等。准备Preparation为类的静态变量分配内存空间并设置默认值0、false、null 等。解析Resolution将类中的符号引用转化为直接引用例如将方法调用转化为方法实际地址的映射。初始化Initialization对类进行初始化包括静态变量的显式初始化和静态代码块的执行等。在初始化过程中如果发现该类有父类则先执行父类的初始化。使用Usage正式使用该类例如创建对象、调用方法等。
需要注意的是类的加载和初始化只会执行一次即使创建多个对象也不会重新加载和初始化。而验证、准备和解析则可能会重复执行例如在运行时通过反射机制获取某个类的信息时就会触发验证、准备和解析过程。在类加载过程中还会根据一定的策略将类分为不同的类加载器ClassLoader以方便对不同类之间的依赖关系进行管理。
5、封装、继承、多态、抽象类、内部类、接口、枚举、记录、注解等
请查看本专栏内其他相关内容。
二、属性
1、概述
类的属性也被称为类的成员变量或字段它们用于存储对象的状态信息。
2、类型
类的属性可以是以下类型之一
基本数据类型例如 int、double、boolean 等。引用类型例如字符串、数组、自定义类等。特殊类型例如枚举类型等。
3、定义属性
package main;/*** author zibo* date 2023/3/7 14:53* slogan 真正的大师永远怀着一颗学徒的心。——易大师*/
public class Person {/*** 名字*/public String name;
}4、修改与访问属性
package main;/*** author zibo* date 2023/3/5 12:55* slogan 真正的大师永远怀着一颗学徒的心。——易大师*/
public class Main {public static void main(String[] args) {// 1. 创建一个Person对象Person person new Person();// 2. 修改 Person 对象的 name 属性person.name zibo;// 3. 打印 Person 对象的 name 属性System.out.println(person.name);}
}5、成员变量和局部变量的区别
定义位置不同成员变量定义在类中而局部变量定义在方法或语句块中。生命周期不同成员变量的生命周期和对象相同即当对象创建时成员变量也会被创建在对象销毁时成员变量也会被销毁而局部变量的生命周期只存在于方法或语句块的执行过程中执行完后就会被销毁。初始化方式不同成员变量可以在定义时初始化也可以在构造方法中初始化而局部变量必须在定义时初始化否则无法使用。访问方式不同成员变量可以通过对象访问也可以通过类名访问静态变量而局部变量只能在所在的方法或语句块中使用无法从外部访问。作用域不同成员变量的作用域是整个类而局部变量的作用域仅限于所在的方法或语句块。
6、静态属性
请查看本专栏内其他相关内容。
三、方法
1、概述
类的方法定义了可以对对象执行的操作。方法可以看作是类的行为或功能的具体实现。
2、方法的内容
Java 类的方法可以包括以下内容
方法名方法的名称用于在程序中调用方法。参数列表方法接受的输入参数可以是零个或多个。返回类型方法的返回值类型可以是任何 Java 数据类型包括基本数据类型、对象类型和数组类型。访问修饰符控制方法在哪些位置可以被访问包括 public、protected、private 和默认。方法体方法的具体实现代码。
3、定义方法
public class Calculator {// 将两个数字相加并返回结果public int add(int num1, int num2) {return num1 num2;}
}4、调用方法
System.out.println(new Calculator().add(100, 100)); // 2005、静态方法、方法重载、方法重写
请查看本专栏内其他相关内容。
四、代码块
1、概述
Java 类中的代码块是指在类中使用大括号 {} 括起来的一段代码它们可以是静态的或非静态的并且可以分为多个不同类型。
静态代码块Static Blocks用 static { } 来定义只在类加载时执行一次且只能访问静态成员变量和方法。实例初始化块Instance Initialization Blocks用 { } 来定义每次创建新实例时都会执行且在构造函数之前执行。构造代码块Constructor Blocks用 { } 来定义与构造函数一起构成了对象的构造过程每次创建新实例时都会执行且在构造函数之前执行。
使用代码块的好处是可以将多个方法中共同的部分提取出来统一进行处理从而提高代码的重用性和可维护性。比如在静态代码块中可以对静态成员变量进行初始化或者对数据库连接进行初始化在实例初始化块中可以对非静态成员变量进行初始化或者执行一些必要的预处理操作在构造代码块中可以对所有构造函数中共同的初始化操作进行封装以避免重复代码。
2、代码块顺序
类被加载时调用静态变量或静态方法执行静态代码块
第一次创建对象时执行静态代码块——执行普通代码块——执行构造函数
第二次及之后再创建对象时执行普通代码块——执行构造函数。