博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 基础学习之 构造方法和匿名对象以及对象的生命周期
阅读量:3929 次
发布时间:2019-05-23

本文共 1876 字,大约阅读时间需要 6 分钟。

构造方法引入

new Student();   创建一个学生类的对象

上面代码本质是调用Student中的无参数的构造方法!

什么是构造方法

1. 构造方法的结构和普通方法类似,但是和普通方法完全不同两个代码块;

2. 构造方法也是方法,意味着使用了构造方法,方法会执行,也能完成功能

3. 构造方法就是一个代码块【就是一个结构 ,构造方法和 字段  方法一样都是一个类中的成员之一

4. 构造方法也该存在于类的结构体中

构造方法语法:

1. 构造方法的名字和类名完全一致(包括大小写完全一致)

2. 没有返回值类型(void也不行)  

3. 构造方法方法体不能返回任何的值(即不能在方法体中return 值)

4. 其他的和普通方法类似 ,可以有修饰符(public、protected、private、默认),可以有形参列表

5. 构造方法必须有方法体

6. 构造方法不能有任何非访问性质的修饰符修饰,例如 static、final、synchronized、abstract等都不能修饰构造方法。

     注意:new Student() 这个整体既是一个Student对象,又是调用的Student的无参数构造方法

6.3 构造方法特点

1. 类中构造方法特点:

①  每一个类中都至少有一个构造方法;

② 如果没有看到(显示的),那么存在一个隐式的无参数的构造方法;

③ 如果一个类中有显示的构造方法,那么隐式的无参的构造方法就不存在了;

6.4 构造方法的作用

在创建对象的同时给对象的成员变量赋值(初始化工作)

设计类语法:public class 类名{成员变量  (字段); 构造方法(有参、无参);方法 (具体的一个功能行为);}例如:public class User {/**姓名*/String name;/**年龄*/int age;/** * 无参构造 */public User() {System.out.println("User无参构造...");}/** * 有参构造 * 形参个数由需求决定 */public User(String n,int a) {name = n;//将传入的n的值赋值给成员变量nameage = a;//将传入的a的值赋值给成员变量ageSystem.out.println("User有参构造...");}    public void playGame() {System.out.println("耍鸟...");}}

 

6.5 构造方法注意事项和小结

1 普通方法不要和类名一致,行业默认规则;

2 普通方法(Method)和构造方法(Constructor)是不同的两种结构

2.1 普通方法的调用  : 3种

2.1.1 类名.方法名(…); -有static修饰的

2.1.2 对象名.方法名(…);

2.1.3 方法名(…); --同一个类里面 都要static 或 都没有static修饰

2.2 构造方法的调用  :

(目前为止)  new 类名(...);

匿名对象以及对象的生命周期

 匿名对象引入

案例:public static void main(String[] args) {//3.1. 创建对象new Student();//其实这就是匿名对象//3.2. 对象赋值new Student().name = "苍老师";//3.3. 对象取值System.out.println(new Student().name);// null}

 

7.2 什么是匿名对象

概念:

  1. 匿名对象,就是创建了一个对象而没有使用变量接收
  2. 但是匿名对象本质也是一个对象(具体的值)
  1. int i = 10;//int数据类型    i变量     值,具体的一个数据
  2. Student  stu = new Student();//Student数据类型   stu变量    new Student();堆中的一个对象

7.3 匿名对象使用场景

1 : 只需要使用一次的情况(如:调用一次非static修饰的普通方法作为方法实参使用)

 

7.4 对象的生命周期(了解)

1. 对象的生命周期(就是对象从开始到结束的过程)

1.1开始 : new Student()  ,new的时候就开始了;堆中

1.2结束:

1.2.1 说法1(常见的说法) :当对象失去所有的引用(没有变量再指向它了)

1.2.2 说法2 : 对象真正的被销毁(对象会在堆里面占用内存,当把对象的内存空间回收了),Java有自动垃圾回收机制(GC);

转载地址:http://kmcgn.baihongyu.com/

你可能感兴趣的文章
学术英语 | (6) WordList6
查看>>
线性代数 | (5) 线性方程组
查看>>
学术英文 | (7) Unit3Words
查看>>
线性代数 | (6) 相似对角形
查看>>
学术英语 | (8) WordList7
查看>>
概率论与数理统计 | (1) 概率论初步Part One
查看>>
概率论与数理统计 | (2) 概率论初步Part Two
查看>>
概率论与数理统计 | (3) 随机变量
查看>>
学术英语 | (9) WordList8
查看>>
概率论与数理统计 | (4) 二元随机变量Part One
查看>>
学术英语 | (10) WordList9
查看>>
李航机器学习 | (2) 统计学习方法(第2版)笔记 --- 感知机
查看>>
动手学PyTorch | (33) 通过时间反向传播
查看>>
动手学PyTorch | (35) 长短期记忆(LSTM)
查看>>
动手学PyTorch | (37) 优化与深度学习
查看>>
动手学PyTorch | (39) 小批量随机梯度下降
查看>>
动手学PyTorch | (41) Adagrad算法
查看>>
动手学PyTorch | (44) Adam算法
查看>>
动手学PyTorch | (59) 微调(fine-tuning)
查看>>
吴恩达深度学习 | (16) 卷积神经网络专项课程第一周学习笔记
查看>>