首页 > 其他分享 >创建和初始化对象、构造函数详解

创建和初始化对象、构造函数详解

时间:2022-10-01 23:35:21浏览次数:51  
标签:初始化 name xm 详解 Student new public 构造函数

创建和初始化对象、构造函数详解

使用new关键字创建对象

使用new关键字创建的时候,不仅会分配内存空间,还会进行默认的初始化以及调用类中的构造器

package oop.subject;

//一个类中应该只有属性和方法
public class Student {
    //属性(或者叫字段)
    String name;
    int age;


    //方法
    public void study(){
        System.out.println(this.name+"在学习");
    }
}

package oop.subject;

public class Application {
    //一个项目应该只有应该main方法
    public static void main(String[] args) {

        //类是抽象的,实例化后会返回一个自己的对象
        //student对象就是应该Student类的具体实例
        Student xm = new Student();
        Student xh = new Student();
        xm.name = "xm";
        xm.age = 3;

        System.out.println(xm.name+"\t"+xm.age);

    }
}

构造器

类中的构造器也称为构造方法,是在创建对象的时候必须要调用的

构造器有以下特点:

  1. 构造函数名必须和类的名字相同
  2. 构造函数没有返回类型,也不能写void
  3. 修饰符为public

构造器的作用:

  1. 使用new关键字本质是在调用构造器
  2. 使用构造器来初始化属性值
package oop.construct;

public class Person {
    //一个类即使什么都不写,也会存在一个无参构造函数

    String name;

    //使用无参构造函数给对象初始化值
    public Person() {
        this.name = "xiaohong";
    }

    //一旦写了有参构造,无参构造就必须显示定义,不然实例化会报错
    public Person(String name) {
        this.name = name;
    }
}

package oop.construct;

public class Demo1 {
    public static void main(String[] args) {
        System.out.println(new Person("hhh").name);
    }
}

标签:初始化,name,xm,详解,Student,new,public,构造函数
From: https://www.cnblogs.com/qt0312/p/16747996.html

相关文章

  • 栈的用法详解
    栈的用法详解目录栈的用法详解利用数组模拟栈STLstack典型例题:洛谷P1427小鱼的数字游戏题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示数据规模与约定栈......
  • 迷宫问题详解
    简介实验项目2:栈结构及其应用实验题目:迷宫问题求解实验内容:一个迷宫可以看成是由m×n个房间组成的矩形,迷宫内部的每个房间有4个方向,每个方向或者有障碍(如墙)而......
  • yum安装nginx的默认目录详解
    nginx是一种web应用服务,yum-yinstallnginx我们通过yum安装往往会找不到默认的配置文件,文件目录等等,我们来说一下  我们先通过yuminstallnginx安装好这个服务,这......
  • python的time库详解
    time库的使用:Python中内置了一些与时间处理相关的库,如time、datatime和calendar库。其中time库是Python中处理时间的标准库,是最基础的时间处理库。time库的功能如下:(1)计......
  • Python基础(九) | time random collections itertools标准库详解
    ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深......
  • Python爬虫详解
    1、任务介绍需求分析爬取豆瓣电影Top250的基本信息,包括电影的名称,豆瓣评分,评价数,电影概况,电影链接等。https://movie.douban.com/top2502、基本流程2.1、准备工作通......
  • QTabWidget 详解
    一、简介QTabWidget为选项卡小部件,提供一个选项卡栏(参见QTabBar)和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,选项卡栏显示在页面区域的上方,但是可以......
  • 使用阿里云 SpringBoot 仓库初始化项目
    本文基于:https://www.bilibili.com/video/BV15b4y1a7yG?p=5&vd_source=cf8900ba33d057d422c588abe5d5290d使用IDEA新建项目选择SpringInitizlizr选择web工......
  • alpine:openrc:初始化服务管理系统的一个问题:修改服务后,旧依赖依旧存在?!
    问题:修改具体的服务(代码)后,运行rc-update add/delete 执行openrc,总是出现有之前的旧的依赖关系!重启也不行!解决:是openrc的依赖缓存文件有问题,清除自动重建即......
  • 使用阿里云 SpringBoot 仓库初始化项目
    本文基于:https://www.bilibili.com/video/BV15b4y1a7yG?p=5&vd_source=cf8900ba33d057d422c588abe5d5290d使用IDEA新建项目选择SpringInitizlizr选择web工......