java09-创建和初始化对象+创建对象内存分析+小结


创建和初始化对象

  • 使用new关键字创建对象

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

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

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

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

      public Person(String name){
              this.name = name;
          }
      
  • 构造器必须掌握

    • 无参构造

      public Person(){
      	
      }
      //默认有个无参构造,一个类中默认有一个无参构造
      
    • 有参构造

      public Person(String name){
      		this.name = name;
      }
      //一旦定义了有参构造,无参就必须显示定义,要不然找不到
      

调用需要实例化

创建对象内存分析

截屏2022-08-12 下午11.08.58java09-创建和初始化对象+创建对象内存分析+小结

总结

  1. 类与对象

    类是一个模版:抽象,对象是一个具体的实例

    public class Studnet{
      
    }
    
    Student xiaoming = new Student();//实例
    
  2. 方法

    定义、调用

    public class Student {
        //属性:字段
        String name;//null
        int age;
        //method
        public void study(){
            System.out.println(this.name+"在学习");
    
        }
    }
    //定义
    
    Student student = new Student();
    student.name="zhangsan";
    student.study();
    //调用
    
    
  3. 对应的引用

    引用类型: 基本类型(8大类型)

    ​ 对象是通过引用来操作的:栈—–>堆(其实就是指向的地址)

    public class Application {
        public static void main(String[] args) {
    
            Pet dog = new Pet();
            dog.name = "旺财";//引用
            dog.age = 12;
            dog.shout();
            System.out.println(dog.name);
            System.out.println(dog.age);
            
        }
    }
    
    
    
    
    
    public class Pet {
        String name;
        int age;
    
        //默认有个无参构造
    
        public Pet() {
        }
    
        public void shout(){
            System.out.println("叫了一声");
        }
    }
    
    
  4. 属性:字段Field 成员变量

    默认初始化:

    ​ 数字: 0。 0.0

    ​ char: u0000

    ​ boolean: false

    ​ 引用: null(除了八大基本类型 ,所有引用初始值都是null)

    ​ 修饰符 属性类型 属性名 = 属性值!

  5. 对象的创建和使用

    • 必须使用new 关键字创造对象,构造器 Person guansuo = new Person();

    • 对象的属性 guansuo.name

    • 对象的方法 guansuo.sleep()

  6. 类:

    静态的属性: 属性

    动态的属性: 方法

    public void shout(){
            System.out.println("叫了一声");
        }
    

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280392.html

(0)
上一篇 2022年8月14日
下一篇 2022年8月14日

相关推荐

发表回复

登录后才能评论