第7章(下)--类的完善

1.成员方法注意事项和细节:

  

2.方法重载:

java中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致
比如:System.out.println();   out是PrintStream类型

3.可变参数:

1)      可变参数的实参可以为0个或任意多个。

2)      可变参数的实参可以为数组。

3)      可变参数的本质就是数组.

 

4)      可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后

5)      一个形参列表中只可能出现一个可变参数

4.创建java自定义类步骤总结

 

1)      定义类,确定类名

 

2)      编写类的属性

 

3)      编写类的方法

 

4)      创建对象,使用方法。

5.属性和局部变量作用域

1) 在java编程中,主要的变量就是属性(成员变量,全局变量)和局部变量。A类:sum

2) 我们说的局部变量一般是指在成员方法中定义的变量。

3) java中作用域的分类
    全局变量:也就是属性,作用域为整个类体 A类:sum sub 等方法使用属性 
    局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中!

4) 全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值。

5)接收到的形参是局部变量。

6.作用域的注意事项和细节

1) 属性全局变量和局部变量可以重名,访问时遵循就近原则

2) 在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名。[举例]

3) 全局变量,存储在堆中。局部变量,存储在栈中,需要画一个示意图说明。【重要】

4) 全局变量,生命周期较长,伴随着对象的创建而创建,伴随着对象的死亡而死亡。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而死亡。即在一次方法调用过程中。【每调用一次方法,就开一个方法栈,这个是由操作系统决定的】

5) 作用域不同
       全局变量:可以被本类使用,或其他类使用(通过对象调用)
       局部变量:只能在本类中对应的方法中的作用域内使用

6) 修饰符不同
       全局变量可以加修饰符
       局部变量不可以加修饰符

7.构造器

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

[修饰符] 方法名(参数列表){

       构造方法体

}

  • 说明:

1)      构造器的修饰符可以默认

2)      构造器没有返回值

3)      方法名 和类名字必须一样

4)      参数列表 和 成员方法一样的规则

5)      构造器的调用有系统JVM 来调用

 8.构造器的使用方法和注意细节

 

1) 一个类可以定义多个不同的构造方法,构造方法重载
比如:我们可以再给Person类定义一个构造方法,用该方法来创建新对象的时候,只指定人名,不需要指定年龄。

2) 构造方法名和类名相同

3) 构造方法没有返回值

4) 主要作用是完成对新对象的初始化

5) 在创建新对象时,系统自动的调用该类的构造方法

6) 如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造方法),比如 Person (){}

7) 一旦定义了自己的构造方法,默认的构造方法就覆盖了,就不能再使用默认的无参构造方法,除非显示的定义一下,即:  Person(){};

9.对象的创建流程分析

 

 

 

1) JVM 机会加载类结构信息(Person.class)

 

2) 在堆中分配空间(地址 )

 

3) 对属性进行初始化

 

3.1 默认初始化 age = 0 name = null

 

3.2 显示初始化 age = 90 name = null

 

3.3 使用构造器进行初始化 age = 20 name = "小倩"

4)  将 堆中的对象的地址,返回给p

10.this的基本介绍

 this : 哪个对象调用,this就指向该对象

访问构造器:

 

 11.构造器重载案例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


posted @ 2020-06-16 12:30  --学无止境--  阅读(197)  评论(0编辑  收藏  举报