java面向对象

2026-06-05 13:03:52

面向对象与包

面向对象

面向过程 vs 面向对象

面向过程 面向对象
侧重点 强调参与者 强调调用者
适用场景 需求较小的问题 需求较大的问题
维护性 代码多,维护性差 方法封装到类,便于维护

类与对象

  • :一组相关属性和行为的集合,是事物的模板(抽象)
  • 对象:类的具体实例(具体),具备该类事物的属性和行为

面向对象三大特性

封装继承多态

构造函数

特点

  1. 方法名必须和类名完全相同
  2. 不要声明返回类型
  3. 不能被 staticfinalabstractsynchronizednative 修饰
  4. 不能有 return 语句返回值

注意

如果类中写了一个有参构造方法,编译器不再提供默认的无参构造方法,需要手动添加。

示例

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

    // 无参构造函数
    public Student() {
        this("李四", 18);
    }

    // 有参构造函数
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void doHomework() {
        System.out.println(name + "做作业!今年" + age + "岁");
    }
}

public class TestStudent {
    public static void main(String[] args) {
        Student stu = new Student("张三", 18);
        stu.doHomework();
    }
}

this 关键字

  1. 区分成员变量和局部变量
  2. 调用其他构造方法

包(package)

规则

  • 使用 package 关键字创建包
  • 包声明必须是源代码第一行(前面只能有注释或空行)
  • 包名一般为小写,要有意义

编译与运行

# 编译
javac org/lanqiao/test/TestPackage.java

# 运行(用 . 分割包路径)
java org.lanqiao.test.TestPackage

导入

import 包名.类名;     // 导入单个类
import 包名.*;        // 导入包中所有类

全限定名

包名 + 类名,如 org.lanqiao.test.TestPackage

← 返回文章列表