美文网首页
java day 1:面向对象

java day 1:面向对象

作者: 周蛋蛋 | 来源:发表于2019-08-19 22:49 被阅读0次

实例化对象两个步骤:创建的过程

  • 声明对象
public class CatTest{
  public static void main(String [] args){
      Cat one = new Cat();
     这里的Cat one 就是声明对象,只是简单的在栈里面开辟了空间,却 不能真正的像对象一样我们 去使用他,只用实例化以后他才严格的算作一个对象;
  }
}
  • 实例化对象
public class CatTest{
  public static void main(String [] args){
      Cat one = new Cat();
     这里的new Cat();就是实例化对象,他会在堆里面开辟空间,那么既然两者在不同的内存空间,又是如何关联起来的?

     通过“=”赋值符号,将两者关联,那么怎样关联的呢?
     就是将堆得内存地址存放到栈里面;
     说白了对象就是一个房子,堆就是钥匙,栈就是保管钥匙的人,人拿到了钥匙以后,可以对房子这个对象进行使用
  }
}

-当没有构造方法时,系统会自动添加无参的构造方法
-当指定了构造方法,不管是有参还是无参,系统都不会自动添加无参的构造方法

概括
就是声明对象,实例化对象,将声明的对象指向实例化对象的空间,每次new关键字
注意事项*

  • 实例化对象只能通过new来创建吗 ?
public class CatTest{
  public static void main(String [] args){
      Cat one = new Cat();
      Cat two = new Cat();
      我们来分析 第一条:
      Cat one = new Cat();
    我们在栈里面开辟 了空间是one,在堆里面开辟了一片空间对one进行了初始化的操作,将堆得内存地址值保存在栈one里面;
      Cat two = new Cat();
    我们在栈里面开辟 了新的空间是two,在堆里面开辟了一片空间对two进行了初始化的操作,将堆得内存地址值保存在栈two里面;
  
Cat two = one;

当我们的两个对象同时指向一个内存地址值,只要修改一个对象,就会影响第二个对象
  }
}

构造方法

俗称构造函数,构造器,我们通过构造方法来进行对对象的实例化。特点:

  • 构造方法与类同名并且没有返回值
public class CatTest{
  public CatTest (){
  }
}
  • 只能在对象实例化的时候调用
    也就是只能配合new关键字来使用他,不能像常用的方法一样,我们执行完构造方法以后,完成对象的初始化,才走完new的整个过程;
  • 只要指定了构造方法,不管是有参还是无参,系统再也不会指定无参构造
  • 一个类中可以有多个构造方法

单一职责原则

简单的说就是一个类只干一件事情,如果一个类当中,承担的职责越多,那么他的耦合交融高,那么被复用的可能性就低,所以以后创建类的人时候,建议一个类只负责一件事情

this关键字

代表当前对象,谁调用代表谁

相关文章

网友评论

      本文标题:java day 1:面向对象

      本文链接:https://www.haomeiwen.com/subject/prqysctx.html