类与对象

简介: 创建与初始化对象 使用new关键字创建对象 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化(String初始为null,int初始为0)以及对类中构造器的调用 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点

类与对象


创建与初始化对象


  • 使用new关键字创建对象


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


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


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


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


//构造器详解
//java --> class(project structure->module->add->out) 查看class文件
public class Person {
    //一个类即使什么都不写,它也会存在一个方法
    //显式的定义构造器
    String name;
    int age;
    //实例化初始值
    //1.使用new关键字,本质是在调用构造器,必须要有构造器
    //2.用来初始化值
    public Person(){
        this.name="qinjiang";
    }
    //有参构造器:一旦定义了有参构造器,无参就必须显式定义
    public Person(String name){
        this.name=name;
    }
    //alt + (Fn笔记本) + insert  自动生成一个构造器
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
/*
    public static void main(String[] args) {
        //new 实例化了一个对象
        Person person = new Person("kuangshen",23);
        System.out.println(person.name);    //qinjiang
    }
    构造器:
        1.和类名相同
        2.没有返回值
    作用:
        1.new 本质在调用构造方法
        2.初始化对象的值
    注意点:
        1.定义有参构造之后,如果想使用无参构造,显式的定义一个无参的构造
    Alt+Fn+Insert
    this
 */


  • 创建对象内存分析


微信图片_20220425165848.png


  • 示例


public class Pet {
    public String name;     //属性前加public以便其他packages调用
    public int age;
    //无参构造
    public void shout(){
        System.out.println("叫了一声");
    }
}
/*
public static void main(String[] args) {
        Pet dog = new Pet();
        dog.name="旺财";
        dog.age=3;
        dog.shout();
        System.out.println(dog.name);
        System.out.println(dog.age);
    }
 */


  • 类与对象小结


public class Application {
    public static void main(String[] args) {
        /*
        1.类与对象
            类是一个模板:抽象,对象是一个具体的实例
        2.方法
            定义、调用!
        3.对应的引用
            引用类型:基本类型(8)
            对象是通过引用来操作的:栈-->堆
        4.属性:字段Field 成员变量
            默认初始化:
                数字:0    0.0
                char:u0000
                boolean:false
                引用:null
            修饰符 属性类型 属性名 = 属性值!
        5.对象的创建和使用
            -必须使用new关键字创建对象,构造器 Person kuangshen = new Person()
            -对象的属性 kuangshen.name
            -对象的方法 kuangshen.sleep()
        6.类
            静态的属性   属性
            动态的行为   方法
         */
    }
}


相关文章
|
5天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1129 2
|
4天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
635 11
|
14天前
|
人工智能 运维 安全
|
5天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
311 0
|
12天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
828 23
|
5天前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。

热门文章

最新文章