java 快速上手开发 2

1. 类与对象

Java 是面向对象语言,一切代码都写在类中。类定义了一类事物的属性(字段)和行为(方法)。

复制代码
public class Person {
    // 字段
    String name;
    int age;

    // 方法
    public void introduce() {
        System.out.println("我叫" + name + ",今年" + age + "岁。");
    }
}

创建对象:

复制代码
Person person = new Person();
person.name = "张三";
person.age = 25;
person.introduce();

2. 构造器与 this

构造器用于创建对象时初始化字段,名字与类名相同,没有返回类型。

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

    // 带参构造器
    public Person(String name, int age) {
        this.name = name;   // this 指当前对象
        this.age = age;
    }
}

使用构造器:

复制代码
Person p = new Person("李四", 30);

this 用于区分字段和参数同名的情况。

3. 封装

封装是将字段设为 private,通过公共的 getter/setter 访问,保护数据安全

复制代码
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; }
}

在 Spring 项目中,常用 Lombok 的 @Data 注解自动生成这些方法,原理相同。

4. 继承(extends)

子类继承父类,获得父类所有非私有成员,并可以扩展自己的属性和方法。

复制代码
public class Animal {
    private String name;

    public Animal(String name) { this.name = name; }
    public void eat() { System.out.println(name + " is eating."); }
    public String getName() { return name; }
}

public class Dog extends Animal {
    public Dog(String name) { super(name); }   // 调用父类构造器
    public void bark() { System.out.println(getName() + " says Woof!"); }
}
  • super(...) 调用父类构造器,必须在子类构造器第一行。

  • Java 是单继承,一个类只能有一个父类。

5. 方法重写(Override)

子类可以重写父类的方法,签名必须一致,使用 @Override 注解。

复制代码
public class Cat extends Animal {
    public Cat(String name) { super(name); }

    @Override
    public void eat() {
        System.out.println(getName() + " is eating fish.");
    }
}

6. 多态

父类引用可以指向子类对象,调用方法时动态绑定到实际对象类型。

复制代码
Animal animal = new Cat("Kitty");
animal.eat();   // 输出 Kitty is eating fish.

这是面向对象的核心特性之一,也是 Spring 框架中大量使用的设计模式(例如 UserRepository 接口注入实现类代理)。

相关推荐
骇客野人16 分钟前
SpringBoot+SpringCloud高并发系统设计、搭建与落地实施方案
java·spring boot·spring cloud
张宇Joaquin20 分钟前
灵渠测试工具-urma_perftest
java·开发语言
当战神遇到编程21 分钟前
Java 集合框架详解:Collection 与 List 核心用法
java
nicole bai27 分钟前
dialog封装
前端·javascript·vue.js
高彬36 分钟前
SAP ECC6.0 对接 C# web Services服务
开发语言·前端·c#·sap
小江的记录本36 分钟前
【CSS】CSS 核心:盒模型、BFC/IFC、Flex/Grid 布局、响应式布局、移动端适配(附《思维导图》)
前端·css·面试·前端框架·tensorflow·html5·xss
Coodor37 分钟前
BS架构下在前端读写超高频UHF标签
前端·超高频·rfid读写器web插件·uhf标签
张小姐的猫41 分钟前
【C++开发脚手架】 —— Jsoncpp上手
java·linux·开发语言·网络·c++·tcp/ip·udp
一晌小贪欢41 分钟前
python-第20天:关键字参数与不定长参数
java·开发语言·前端·python·数据可视化·函数参数·python办公