记录生活中的点点滴滴

0%

day8

万事万物皆对象

类的属性默认值和数组元素默认值一样

面向对象思想的体现一:类和对象的创建

 1.创建类,即为提供类的内部结构:属性和方法

 2.创建类的对象(类的实例化,实例化类)

 3.可以通过“对象.属性”或“对象.方法”调用相关功能

 特例:Math.sqrt(..) / Math.random()

如果创建了一个类的多个对象,那抹多个对象之间是彼此独立的。即每个对象,都拥有一套自己的属性

当通过其中一个对象修改其属性值时,不会影响其他对象相同属性值

堆:new 出来的结构,数组,对象

栈:局部变量

变量的分类:按照数据类型的分类:基本数据类型(8个) vs 引用数据类型(3个:数组、类、接口)

       按照变量在类中声明的位置不同:成员变量(或属性) vs 局部变量

类中属性的使用

  成员变量(或属性) vs 局部变量

1.相同点:①声明的格式是相同的:数据类型 变量名 = 初始化值

     ②先声明后使

     ③变量都有作用域

2.不同点:①类中声明的位置不同

      成员变量:在类的一对{}内直接声明的变量

     局部变量:方法内声明的,方法的形参位置声明的,构造器内声明的,代码块内声明的都是局部变量

     ②成员变量可以在数据类型前声明权限修饰符,而局部变量是不可以声明权限修饰符的

      补充:权限修饰符有哪些?public 、private、protected、缺省

     ③成员变量:声明时,有默认初始化值。也就是说,我们在定义成员变量时,可以不显示的赋值

     整形:byte,short,int,long : 0

     浮点型:float,double : 0.0

     字符型:char :0 (或表示为‘\u0000’)

     布尔类型: boolean : flase

     引用数据类型:null

      局部变量:没有默认初始化值。必须要在调用前,显示的赋值

    特别的:方法的形参。此局部变量在方法内调用前,不需要赋值。他的赋值,是在方法调用时。

     ④二者在内存中存放的位置,是不同的

      成员变量:存放在堆空间中

      局部变量:存放在栈空间中

属性是依托于对象存在的

类中方法的使用:

​ 方法:类中声明的一个结构,能够实现具体功能。Arrays.sort(int[] arr) / Arrays.binarySearch(int[] arr,int value)

1.public void eat(String food){}

​ public void show(){}

​ public int returnAge(){}

​ public String info(String nation){}

2.方法声明的格式:

​ 权限修饰符 返回值类型 方法名(形参列表){

​ 方法体

}

​ 3.具体说明:

   ①权限修饰符:可以理解为所被修饰的结构能被调用的范围的大小

    有如下的权限修饰:public,protected,缺省,private

   ②关于返回值类型:没有返回值:void

            有返回值:指明具体的返回值类型

如果方法声明时,有返回值,那抹我们就需要在方法执行中,返回具体的满足相应类型的变量或者常量。比如return 1 或者 return index

   说明:如果方法有返回值,方法中一定有return !

   ③方法名:属于标识符。需要命名时,满足标识符的命名规则和规范,“见名知意”

   ④.形参列表:可以声明0个,1个或者多个变量,如果声明了多个变量,中间用“ ,”分开

   ⑤.方法体:我们调用方法时,要执行的逻辑。

    方法的功能主要体现在方法体上。

  1. ①方法中调用当前类的属性或方法。(如果方法A中调用方法A:递归方法)

    ②在方法体中,可以使用关键字:return ,reutrn的意思:返回,跳出

    ③ 在方法内,不能再定义方法

同一个包下,不允许定义两个同名的类

在static方法中,调用非static的方法,需要使用对象调用