03-类与对象的创建

类与对象的创建

类与对象的关系

  • 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。

    • 动物、植物、手机、电脑

    • Person类、Pet类、Car、类等,这些类都是用来描述/定义某一类具体的事物应该具有的特点和行为。

 

  • 对象是抽象概念的具体实例

    • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。

    • 能够体现出特点,展现出功能的是具体·的实例,而不是一个抽象的概念。

创建与初始化对象

  • 使用new关键字创建对象

     
    复制代码
     1 package oop.Demo02;
     2  3  //学生类
     4  public class Student {
     5  6      //属性: 字段
     7      String name;//默认为null
     8      int age;//默认为0
     9 10      //方法
    11      public void study(){
    12          System.out.println(this.name+"在学习");
    13      }
    14  }
    15  package oop.Demo02;
    16 17  //规定: 一个项目应该只存在一个main方法
    18  public class Application {
    19      public static void main(String[] args) {
    20 21          //类: 是抽象的, 需要实例化
    22          //类实例化后会返回一个自己的对象
    23          //student对象就是一个student类的具体实例
    24          Student student = new Student();
    25          Student xiaoming = new Student();
    26          Student xh = new Student();
    27 28          xiaoming.name="小明";
    29          xiaoming.age=18;
    30 31          System.out.println(xiaoming.name);
    32          System.out.println(xiaoming.age);
    33 34          xh.name="小红";
    35          xh.age=17;
    36 37          System.out.println(xh.name);
    38          System.out.println(xh.age);
    39 40      }
    41 42  }
    复制代码
    
    

     

    
    

  • 使用new关键字创造的时候,除了分配内存空间以外,还会给 创建好的对象进行默认的初始化以及对类中构造器的调用。

  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

    • 1.必须和类的名字相同

    • 2.必须没有返回类型,也不能写void

  • 构造器必须要掌握

     
    复制代码
     1 package oop.Demo02;
     2  3  public class Person {
     4  5      //一个类即使什么都不写,他也会存在一个方法(默认)
     6      //显示的定义构造器
     7  8      String name;
     9 10      //作用: 可实例化初始值
    11      //1. 使用new关键词, 本质是在调用构造器
    12      //2. 构造器一般用来初始化值
    13      public Person(){
    14          /*this.name = "xiaoka";*/ //含有有参构造时一般空着
    15      }
    16      
    17      //上面为无参构造
    18      //有参构造: 一旦定义了有参构造, 无参构造就必须显示定义
    19      public Person(String name){
    20          this.name = name;
    21      }
    22      
    23      // 快捷键: alt + insert : 自动生成构造器
    24  }
    25 26  /*
    27  public static void main(String[] args) {
    28 29          //使用new关键词实例化了一个对象
    30          Person person = new Person();
    31 32          System.out.println(person.name);// 默认为null
    33 34      }
    35      
    36      构造器: 
    37              1.和类名相同
    38              2.没有返回值
    39      作用:
    40              1.new 本质在调用构造方法
    41              2.初始化对象的值
    42      注意点:
    43              1.定义有参构造后,如果想使用无参构造的话,显示的定义一个无参的构造
    44  */
    复制代码
    
    

     

     
posted @   小carlos  阅读(48)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示