• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

escapedlili

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Day6 面向对象OOP -2

Constructor (构造器)

用来创建对象时初始化对象的启动程序

当写new类名的时候,构造器就会被自动调用,让对象准备好

example 建立一个cat class
public class Cat {
    String name;
    int age;
}
//如果直接写
Cat myCat = new Cat(); //name, age默认为null and 0
有构造器的的写法
public class Cat {
    String name;
    int age;

    // 构造器
    public Cat(String n, int a) {
        name = n;
        age = a;
    }
}
//调用
public static void main( String[] args) { 
  Cat myCat = new Cat("Kitty", 2);
  System.out.println(myCat.name); // Kitty
  System.out.println(myCat.age);  // 2 }

i) 构造器的名字必须和类名一模一样
ii) 没有返回值,连 void 都不能写
iii) 可以有多个参数,方便初始化不同的属性

2.默认构造器

如果没有写构造器,java会自发生产一个空构造器

点击查看代码
public class Cat {
    String name;
    int age;
    // Java 自动提供 public Cat() {}
}

但如果自己写了,默认构造器就不存在了。

3.构造器可以重载

可以写多个构造器,参数不同,创建对象更灵活

点击查看代码
public class Cat {
    String name;
    int age;

    public Cat() {
        name = "Unknown";
        age = 0;
    }

    public Cat(String n) {
        name = n;
        age = 1; // 默认 1 岁
    }

    public Cat(String n, int a) {
        name = n;
        age = a;
    }
}

//使用
public static void  main( String[] args){
  Cat c1 = new Cat();         // name=Unknown, age=0
  Cat c2 = new Cat("Kitty");  // name=Kitty, age=1
  Cat c3 = new Cat("Tom", 5); // name=Tom, age=5}

PS: main 方法是程序的入口,java程序从这里开始,也是在这里调用其他方法进行输出

posted on 2025-09-17 04:32  escapedlili  阅读(4)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3