Skip to content

一.类和对象

1.如何定义类

类(Class):共同特征的描述。

<span style="color: red;">JavaBean类:</span>用来描述一类事物的类。如:Sttudent,Teacher,Dogr..... <span style="color: red;">测试类:</span>用来检查其他类是否书写正确,带有main方法的类,是程序的入口 ######不用来描述一类事务而是帮我们做一些事情

测试类

工具类(Utility Class)通常包含一组静态方法,用于执行特定的工具性任务,这些方法通常与特定的功能或领域无关。工具类的目的是通过提供通用的方法来简化代码,使其易于重用。以下是创建工具类的一些建议:

  1. 静态方法: 工具类的方法通常是静态的,这样可以通过类名直接调用,而不需要创建类的实例。

  2. 私有构造函数: 通常将工具类的构造函数设为私有,以防止通过实例化该类来调用方法。==因为工具类中的方法通常是静态的,不需要创建实例。==

  3. 无状态: 工具类通常是无状态的,即不包含实例变量。这有助于确保方法的纯粹性,即相同的输入始终产生相同的输出。

  4. 不可继承: 可以通过将类声明为final,或者将构造函数声明为private来防止工具类被继承。

  5. 命名规范: 工具类的命名通常使用 UtilUtils 结尾,以明确表示其作为工具的用途。

  6. 文档注释: 对工具类中的方法进行良好的文档注释,描述每个方法的用途、输入、输出等信息。

以下是一个简单的示例:

java
/**
 * StringUtil - A utility class for string-related operations.
 */
public final class StringUtil {

    private StringUtil() {
        // Private constructor to prevent instantiation.
    }

    /**
     * Concatenates two strings.
     *
     * @param str1 The first string.
     * @param str2 The second string.
     * @return The concatenated string.
     */
    public static String concatenate(String str1, String str2) {
        return str1 + str2;
    }

    /**
     * Checks if a string is empty (null or has zero length).
     *
     * @param str The string to check.
     * @return True if the string is empty, false otherwise.
     */
    public static boolean isEmpty(String str) {
        return str == null || str.length() == 0;
    }
}

上述示例中,StringUtil 是一个工具类,包含了两个静态方法,分别用于字符串拼接和检查字符串是否为空。

是一种抽象的==模板==或==蓝图==,用于描述具有相同属性(成员变量)和行为(方法)的对象的集合。类定了对象的结构和行为,但它本身并不是一个具体的对象。==类可以看作是一种用户自定义的数据类型==。 例如,如果我们要描述动物,我们可以创建一个类叫做Animal,该类可能包含属性(如动物的名称、年龄)和方法(如动物的移动、发出声音等)。

java
public class Animal {
    // 成员变量
    String name;
    int age;

    // 方法
    void move() {
        System.out.println(name + " is moving.");
    }

    void makeSound() {
        System.out.println(name + " is making a sound.");
    }
}
对象(Object):真实存在的具体实例。

public class 类名{

1. 成员变量(代表属性,一般是名词,它们定义了对象的状态)
java
public class 类名 {
    // 成员变量
    int 变量1;
    String 变量2;
    // ...
}
2. 成员方法(代表行为,一般是动词)
java
public class 类名 {
    // 成员方法
    void 方法1() {
        // 方法1的代码
    }

    String 方法2() {
        // 方法2的代码
        return 结果;
    }
    // ...
}
3. 构造器(初始化对象的特殊方法,它们与类具有相同的名称,创建对象时调用)
java
public class 类名 {
    // 构造器
    public 类名() {
        // 初始化代码
    }
}
4. 代码块(实例初始化块(在创建对象时执行)或静态初始化块(在类加载时执行))
java
public class 类名 {
    // 实例初始化块
    {
        // 在创建对象时执行的代码
    }

    // 静态初始化块
    static {
        // 在类加载时执行的代码
    }
}
5. 内部类(内部类是在另一个类内部定义的类。它可以访问外部类的成员。)
java
public class 类名 {
    // 外部类的成员

    // 内部类
    class 内部类 {
        // 内部类的成员
    }
}

}

2.java====的例子

java
public class phone{
   //属性(成员变量)
   //一般类中是只定义不给值
   private Strig brand;
   private double price;

   //行为(方法)
   public void cll{
      System.out.println("phone is calling")
   }
   public void playGame{
      System.out.println("phone is playing game")
   }
}

[enjoy]

二.如何得到类的对象

类格式: public class 类名{

  1. 成员变量
  2. 成员方法 }

创建对象语法:类名 对象名 = new 类名(); 例子: phone myPhone = new phone();

java
public class phoneTest{
   public static boid main(String[] args){
      //创建手机对象
      phone myPhone = new phone();

      //给手机赋值
      myPhone.brand ="一加ACE2pro";
      myPhone.price =3499;

      //获取手机对象中的值
      System.out.println(myPhone.brand)
      System.out.println(myPhone.price

	  //调用手机中的方法
	  myPhone.call;
	  myPhone.playGame;
   }
}

三.编写类的补充

  • 类名首字母建议大写,见名知意,驼峰命名。
  • 一个java文件中可以定义多个class类,且==只能一个类是public==[^1]修饰,并且public修饰的类名必须成为代码的文件名。(<span style = "front-size:smaller;color:red;">实际开发建议还是一个文件定义一个class类</span> )
  • 成员变量的完整定义格式是:<span style = "front-size:smaller;color:red;">修饰符 数据类型 变量名称 = 初始化值 ;</span> 一般无需指定初始化值,存在默认值。

[^1]: 在 Java 中,一个源代码文件(.java 文件)可以包含多个类定义。然而,有一些限制和规则:1. public修饰符限制: 一个源代码文件中最多只能有一个类可以使用 public 修饰符。这个类的名称必须与文件名相同,并且这个类可以被其他文件使用。这是因为 Java 编译器会生成与 public 类名称相同的 .class 文件。2. 文件名与public类名相同: 如果有一个类使用 public 修饰符,那么这个类的名称必须与文件名相同。这是为了方便类的查找和加载。3. 非public类: 一个源代码文件中可以有多个非 public 类,并且它们的名称可以与文件名不同。这些非 public 类只能在同一包(package)中的其他类中使用。这样的设计是为了方便 Java 编译器和虚拟机查找和加载类。当你使用 java 命令运行 Java 程序时,虚拟机会根据类名查找对应的类文件,因此文件名与 public 类名相同是为了让虚拟机能够正确地找到入口类。

评论区

欢迎留言、补充或勘误。

xiaoba.blog