Java-类的知识

Java-类的知识

Java访问成员的限制

Java中有四种访问修饰符,分别是public、protected、default和private,它们分别对应着四种不同的访问权限。

  1. public:可以被任何类访问,包括类的外部和内部。

  2. protected:可以被当前类、同一包内的类及其子类访问。

  3. default:也称为包访问权限,可以被当前类、同一包内的类访问,但是不能被其他包的类访问。

  4. private:只能被当前类访问,其他类无法访问。

这些访问修饰符可以用于类的成员变量、成员方法、构造方法和内部类。通过使用这些访问修饰符,可以限制类的成员的访问范围,从而保证程序的安全性和可维护性。

Java类方法重载

Java中的方法重载是指在同一个类中定义两个或多个方法,它们具有相同的方法名,但参数列表不同。方法重载的目的是为了让程序员可以更方便地使用方法,而不必记住多个不同的方法名。

方法重载的规则如下:

  1. 方法的名称必须相同。

  2. 方法的参数列表必须不同,包括参数的个数、类型或顺序不同。

  3. 方法的返回类型可以相同也可以不同,但不能仅仅是返回类型不同。

示例代码:

public class MethodOverloading {
    
    
    public int add(int a, int b) {
    
    
        return a + b;
    }

    public double add(double a, double b) {
    
    
        return a + b;
    }

    public String add(String a, String b) {
    
    
        return a + b;
    }

    public static void main(String[] args) {
    
    
        MethodOverloading mo = new MethodOverloading();
        System.out.println(mo.add(1, 2));
        System.out.println(mo.add(1.0, 2.0));
        System.out.println(mo.add("Hello ", "World"));
    }
}

输出结果:

3
3.0
Hello World

Java构造函数的基础知识

Java构造函数是一种特殊的方法,用于初始化对象。它的名称与类名相同,并且没有返回类型。构造函数在创建对象时自动调用,用于设置对象的初始状态。

以下是Java构造函数的基础知识:

  1. 构造函数的名称必须与类名相同。

  2. 构造函数没有返回类型,包括void。

  3. 构造函数可以重载,即一个类可以有多个构造函数,只要它们的参数列表不同。

  4. 如果没有定义构造函数,则Java会为类提供一个默认构造函数。默认构造函数不执行任何操作,只是使用默认值初始化对象的成员变量。

  5. 如果定义了至少一个构造函数,则Java不会提供默认构造函数。

  6. 构造函数可以使用关键字super调用父类的构造函数,以便初始化父类的成员变量。

  7. 构造函数可以使用关键字this调用同一类中的另一个构造函数,以便重用代码和避免重复。

  8. 构造函数不能被继承,因为它们不是类的成员,而是对象的成员。

  9. 构造函数可以被其他类调用,但只能创建该类的对象。

  10. 构造函数可以抛出异常,但必须在方法头部声明它可能抛出的异常。

总之,Java构造函数是一种特殊的方法,用于初始化对象。它的名称与类名相同,没有返回类型,并且可以重载。构造函数可以使用关键字super调用父类的构造函数,以便初始化父类的成员变量,也可以使用关键字this调用同一类中的另一个构造函数,以便重用代码和避免重复。

Java构造函数的重载

Java构造函数的重载指的是在一个类中定义多个构造函数,它们的参数类型或个数不同,从而实现不同的对象初始化方式。

Java中的构造函数与普通函数类似,但是有以下特点:

  1. 构造函数的名称必须与类名相同;
  2. 构造函数没有返回类型,包括void;
  3. 构造函数可以有参数,也可以没有参数;
  4. 构造函数可以重载。

下面是一个例子:

public class Person {
    
    
    private String name;
    private int age;

    public Person() {
    
    
        this.name = "unknown";
        this.age = 0;
    }

    public Person(String name) {
    
    
        this.name = name;
        this.age = 0;
    }

    public Person(String name, int age) {
    
    
        this.name = name;
        this.age = age;
    }

    // getters and setters
}

在上面的例子中,Person类定义了三个构造函数,分别为无参构造函数、只有name参数的构造函数和同时有name和age参数的构造函数。这样,我们可以根据需要来创建不同的Person对象:

Person person1 = new Person(); // 调用无参构造函数
Person person2 = new Person("Tom"); // 调用只有name参数的构造函数
Person person3 = new Person("Mary", 20); // 调用同时有name和age参数的构造函数

java类变量和类方法

Java类变量是指在类中定义的静态变量,也称为静态字段或类字段。这些变量属于类本身,而不是类的实例。它们在整个程序中保持不变,可以通过类名直接访问。

Java类方法是指在类中定义的静态方法,也称为静态函数或类函数。这些方法属于类本身,而不是类的实例。它们在整个程序中保持不变,可以通过类名直接调用。

类变量和类方法通常用于实现与类相关的操作,例如在所有实例之间共享数据或创建实例之前必须执行的操作。它们也可以用于创建工具类,例如Java中的Math类,它包含了许多静态方法和静态变量,可以用于执行数学运算。

Java的类库

Java的类库是一组预定义的类和接口,可以用来完成各种任务,例如输入/输出、网络编程、GUI编程、数据结构、安全性等等。Java的类库可以分为以下几类:

  1. 核心类库:包含基本的Java类和接口,例如Object、String、Math、Thread等等。

  2. 集合类库:包含各种数据结构,例如List、Set、Map等等,可以用来存储和操作数据。

  3. IO类库:包含各种输入/输出类,例如File、InputStream、OutputStream等等,可以用来读写文件和网络数据。

  4. 网络类库:包含各种网络编程类,例如Socket、URL、URLConnection等等,可以用来实现网络通信。

  5. GUI类库:包含各种图形用户界面类,例如Swing、AWT等等,可以用来创建图形界面程序。

  6. 安全类库:包含各种加密和认证类,例如MessageDigest、Cipher、SecureRandom等等,可以用来实现数据安全性。

  7. XML类库:包含各种XML解析和生成类,例如DOM、SAX、XMLWriter等等,可以用来处理XML数据。

Java的类库是Java编程的重要基础,开发者可以利用类库构建各种应用程序,从简单的命令行工具到复杂的Web应用程序。

Java处理字符串的类

Java处理字符串的类包括:

  1. String类:用于创建和操作字符串对象,提供了许多字符串操作方法,如比较、连接、截取、替换等。

  2. StringBuilder类:用于动态创建和修改字符串对象,提供了许多字符串操作方法,如追加、插入、删除等。

  3. StringBuffer类:与StringBuilder类相似,但是线程安全,适用于多线程环境。

  4. StringTokenizer类:用于分割字符串,提供了各种分隔符的支持。

  5. Pattern和Matcher类:用于正则表达式匹配和替换字符串。

  6. DecimalFormat类:用于格式化数字字符串,可以指定小数位数、千位分隔符等。

  7. Collator类:用于比较字符串的排序顺序,支持多种语言和字符集。

  8. Locale类:用于表示不同的地区和语言环境,可以用于格式化和比较字符串。

Java的Integer类和Math类

Java的Integer类和Math类都是Java标准库中提供的类。

Integer类是Java中的一个包装类,用于将基本数据类型int封装为一个对象。它提供了一些方法,可以对int类型的数据进行一些操作,例如转换为字符串、比较大小、转换为二进制等等。

Math类是Java中的一个数学工具类,提供了许多数学计算方法,例如求平方根、求绝对值、求最大值、求最小值等等。这些方法都是静态方法,可以直接通过类名调用。

两者的区别在于,Integer类主要是对int类型数据进行封装和操作,而Math类则是提供了一系列的数学计算方法。两者的应用场景也不同,Integer类主要用于封装和操作int类型数据,而Math类则主要用于进行数学计算。

Java类型的变量

Java中有八种基本数据类型的变量,分别是:

  1. byte:字节类型,占1个字节,取值范围为-128~127;
  2. short:短整型,占2个字节,取值范围为-32768~32767;
  3. int:整型,占4个字节,取值范围为-2147483648~2147483647;
  4. long:长整型,占8个字节,取值范围为-9223372036854775808~9223372036854775807;
  5. float:单精度浮点型,占4个字节,取值范围为1.4E-45~3.4E38;
  6. double:双精度浮点型,占8个字节,取值范围为4.9E-324~1.8E308;
  7. char:字符型,占2个字节,取值范围为0~65535;
  8. boolean:布尔型,占1个字节,取值范围为true或false。

Java对象的数组

Java对象的数组是一种数据结构,它包含了一组对象,这些对象可以是任何Java类的实例。与基本类型数组不同,Java对象数组的元素类型是对象,而不是基本类型。Java对象数组的使用方式与基本类型数组类似,可以通过下标索引访问数组中的元素。

例如,以下代码创建了一个包含三个字符串对象的数组:

String[] names = new String[3];
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";

可以使用循环遍历数组中的元素:

for (int i = 0; i < names.length; i++) {
    
    
    System.out.println(names[i]);
}

Java对象数组的长度是固定的,一旦数组被创建,就无法改变其长度。如果需要动态添加或删除元素,可以使用Java集合类中的List或ArrayList。

猜你喜欢

转载自blog.csdn.net/qq_36213352/article/details/130068271
今日推荐