Java的学习笔记(08)对象 三

简介: 对象05:构造器详解类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。两大特点:必须和类的名字相同必须没有返回类型,也不能写void注意点定义有参构造之后,如果想使用无参构造,必须显示的定义一个无参的构造IDEA快捷键 Alt + Insert​ Application.javapackage oop.demo02;// 一个项目应该只存在一个main方法public class Application { public static void main(String[] args) { Persion persion1

对象05:构造器详解

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

两大特点:

  1. 必须和类的名字相同
  2. 必须没有返回类型,也不能写void

注意点

  1. 定义有参构造之后,如果想使用无参构造,必须显示的定义一个无参的构造
  2. IDEA快捷键 Alt + Insert
    Application.java
package oop.demo02;
// 一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {
        Persion persion1 = new Persion();    //实例化了一个对象
        Persion persion2 = new Persion("lisi");    //实例化了一个对象
        System.out.println(persion.name);
    }
}

Persion.java

package oop.demo02;
public class package oop.demo02;
public class Persion {
        //一个类即使什么都不写,他也会存在一个方法
        //显示的定义构造器
        String name;
        /* 实例化初始值:
         使用new关键字,本质是在调用构造器
         无参的构造:如下
        public Persion(){
            this.name = "zhangsan";
        }
        */
        //一个空的无参构造
        public Persion(){
        }
        //有参构造:一旦定义了有参构造,无参就必须显示定义
        public Persion(String name){
            this.name = name;
        }
}
 {
        //一个类即使什么都不写,他也会存在一个方法
        //显示的定义构造器
        String name;
        /* 实例化初始值:
         使用new关键字,本质是在调用构造器
         无参的构造:如下
        public Persion(){
            this.name = "zhangsan";
        }
        */
        //一个空的无参构造
        public Persion(){
        }
        //有参构造:一旦定义了有参构造,无参就必须显示定义
        public Persion(String name){
            this.name = name;
        }
}

对象06:创建对象内存分析

网络异常,图片无法展示
|

package oop.Demo003;
public class Application {
    public static void main(String[] args) {
        Pet Dog = new Pet();
        Pet Cat = new Pet();
        Dog.name = "旺财";
        Dog.age = 2;
        Dog.shout();
    }
}
package oop.Demo003;
public class Pet {
    String name;
    int age;
    public void shout(){
        System.out.println("叫了一声");
    }
}

对象07:简单小结类与对象

/**
    属性:字段fiel 成员变量
    默认初试化:
        数字:0 0.0
        char: u0000
        boolean: false
        引用:null
    对象的创建和使用:
        必须使用new 关键字创建对象,构造器 Persion persion = new persion();
        对象的属性 persion.name
        对象的方法 persion.sleep()
    类:
        静态的属性 属性
        动态的方法 方法
    封装、继承、多态
*/
相关文章
|
6天前
|
安全 Java 编译器
Java对象一定分配在堆上吗?
本文探讨了Java对象的内存分配问题,重点介绍了JVM的逃逸分析技术及其优化策略。逃逸分析能判断对象是否会在作用域外被访问,从而决定对象是否需要分配到堆上。文章详细讲解了栈上分配、标量替换和同步消除三种优化策略,并通过示例代码说明了这些技术的应用场景。
Java对象一定分配在堆上吗?
|
9天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
34 17
|
9天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
18天前
|
存储 Java 数据管理
Java零基础-Java对象详解
【10月更文挑战第7天】Java零基础教学篇,手把手实践教学!
23 6
|
22天前
|
Oracle Java 关系型数据库
重新定义 Java 对象相等性
本文探讨了Java中的对象相等性问题,包括自反性、对称性、传递性和一致性等原则,并通过LaptopCharger类的例子展示了引用相等与内容相等的区别。文章还介绍了如何通过重写`equals`方法和使用`Comparator`接口来实现更复杂的相等度量,以满足特定的业务需求。
16 3
|
22天前
|
存储 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第9天】在Java的世界里,对象序列化是连接数据持久化与网络通信的桥梁。本文将深入探讨Java对象序列化的机制、实践方法及反序列化过程,通过代码示例揭示其背后的原理。从基础概念到高级应用,我们将一步步揭开序列化技术的神秘面纱,让读者能够掌握这一强大工具,以应对数据存储和传输的挑战。
|
27天前
|
XML Java Maven
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
44 7
|
23天前
|
存储 Java 数据管理
Java零基础-Java对象详解
【10月更文挑战第3天】Java零基础教学篇,手把手实践教学!
12 1
|
26天前
|
Java 数据安全/隐私保护
java类和对象
java类和对象
21 5
|
26天前
|
Java 编译器 C语言
【一步一步了解Java系列】:类与对象的联系
【一步一步了解Java系列】:类与对象的联系
18 4