Java入门教程(下)

Java入门教程(下)

在上一篇文章中,我们介绍了Java的基础知识,包括Java简介、开发环境安装、基本语法、变量和数据类型、运算符和控制结构。本文将继续探讨Java的面向对象编程(OOP)思想和常用的Java API。

3. 面向对象编程(OOP)

3.1 类和对象

Java是一种面向对象的编程语言,类和对象是其核心概念。类是对象的模板,对象是类的实例。

示例:

java 复制代码
public class Person {
    String name;
    int age;

    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 方法
    public void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }

    public static void main(String[] args) {
        Person person = new Person("John", 25);
        person.displayInfo();
    }
}

3.2 继承

继承是OOP的一个重要特性,通过继承,一个类可以获得另一个类的属性和方法。使用extends关键字来实现继承。

示例:

java复制代码public class Animal {
    void eat() {
        System.out.println("This animal eats food.");
    }
}

public class Dog extends Animal {
    void bark() {
        System.out.println("The dog barks.");
    }

    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();  // 继承的父类方法
        dog.bark(); // 子类的方法
    }
}

3.3 多态

多态是指同一操作在不同对象上表现出不同的行为。通过方法重写和接口实现来实现多态。

示例:

java复制代码public class Animal {
    void sound() {
        System.out.println("This animal makes a sound.");
    }
}

public class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("The dog barks.");
    }
}

public class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("The cat meows.");
    }

    public static void main(String[] args) {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.sound(); // 输出:The dog barks.
        myCat.sound(); // 输出:The cat meows.
    }
}

3.4 封装

封装是指将对象的属性私有化,并提供公共的访问方法(getter和setter)来控制对属性的访问。

示例:

java复制代码public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static void main(String[] args) {
        Person person = new Person();
        person.setName("John");
        person.setAge(25);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
    }
}

4. 常用的Java API

4.1 字符串操作

Java提供了丰富的字符串操作方法。常用的字符串类是String

示例:

java复制代码public class StringExample {
    public static void main(String[] args) {
        String str = "Hello, World!";
        
        // 获取字符串的长度
        int length = str.length();
        System.out.println("Length: " + length);

        // 获取子字符串
        String substr = str.substring(7, 12);
        System.out.println("Substring: " + substr);

        // 字符串替换
        String replacedStr = str.replace("World", "Java");
        System.out.println("Replaced String: " + replacedStr);

        // 字符串拼接
        String newStr = str.concat(" Welcome to Java.");
        System.out.println("Concatenated String: " + newStr);
    }
}

4.2 集合框架

Java的集合框架提供了一组接口和类,用于存储和操作一组对象。常用的集合类包括ArrayListHashMap等。

示例:

java复制代码import java.util.ArrayList;
import java.util.HashMap;

public class CollectionExample {
    public static void main(String[] args) {
        // ArrayList示例
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        System.out.println("ArrayList: " + list);

        // HashMap示例
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);
        map.put("Cherry", 3);
        System.out.println("HashMap: " + map);
    }
}

4.3 文件操作

Java的java.io包提供了一组类和接口,用于文件操作。常用的文件操作类包括FileFileReaderFileWriter等。

示例:

java复制代码import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileExample {
    public static void main(String[] args) {
        // 创建文件
        File file = new File("example.txt");

        try {
            if (file.createNewFile()) {
                System.out.println("File created: " + file.getName());
            } else {
                System.out.println("File already exists.");
            }

            // 写入文件
            FileWriter writer = new FileWriter(file);
            writer.write("Hello, World!");
            writer.close();
            System.out.println("Successfully wrote to the file.");

            // 读取文件
            FileReader reader = new FileReader(file);
            int character;
            while ((character = reader.read()) != -1) {
                System.out.print((char) character);
            }
            reader.close();
        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

结论

通过本系列文章,我们详细介绍了Java的基础知识和编程技巧,从Java简介、基本语法到面向对象编程和常用的Java API。希望这些内容能帮助你更好地理解和掌握Java编程。


欢迎大家在评论区分享你们在学习Java过程中遇到的问题和经验,一起交流学习。

相关推荐
公贵买其鹿7 分钟前
List深拷贝后,数据还是被串改
java
PieroPc9 分钟前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439693 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹4 小时前
基于java的改良版超级玛丽小游戏
java
Dream_Snowar4 小时前
速通Python 第三节
开发语言·python
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭4 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫5 小时前
泛型(2)
java
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端