构造方法:
-
什么构造方法(构造函数,构造器)
就是在类实例化对象时运行的一种特殊的方法 -
为什么需要构造方法
一般情况下,构造方法合适为对象的属性赋初值 -
格式
public <类名>(){
//方法体
}
4.注意:
构造方法的声明处不能有任何返回值类型的声明
不能在构造方法中使用return返回一个值。
在一个类中如果已经明确地声明了一个构造方法,那么程序在编译时将不会再生成默认的构造方法,即一个类中应保证至少有一个构造方法。
与普通方法一样,构造方法也是可以重载的,只要每个构造方法的参数类型或参数个数不同,即可实现重载
(默认生成无参构造,可重载,实例化对象调用的就是构造)
变量:
成员变量、局部变量
1.成员变量:类中定义的变量(属性)
2.局部变量:方法中定义的变量,或形式参数
(变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁)
3.类变量:声明为static类型的成员变量
区别:
1)作用域不同
成员变量可以在当前类的任何方法
中使用 (除static方法)
局部变量只能在声明他的方法
中使用
2)初始值不同
成员变量有初值默认值
(0\0.0\false\null)
局部变量没有初始值
(局部变量在使用时必须初始化)
3)优先级不同
成员变量和局部变量同名时
局部变量具有更高的优先级
如果想访问成员变量
需要在变量名前加this.
常量
1)什么是常量
常量就是不会变化的数值
2)为什么需要常量
方便程序员使用\调用不会变化的数值
3)常量的特性
1不能修改
2所有对象共享
4)常量一定是成员
5)定义一个常量
public static final
<类型> <常量名>=<数值>;
public static final double
PI=3.1415926;
6)常量使用类名调用,不能修改
7)常量的命名规范
所有字母均大写
多个单词用_分割
8)常量的赋值有2种方式
推荐:声明的同时赋值
语法也允许在静态块中赋值
9)如果常量在声明的同时赋值
代码中调用这个常量的位置
编译时会替换成这个常量的值
无需加载这个类,从而提高运行效率
引用数据类型
引用数据类型
1)引用数据类型的特征(String,自造类,数组)
变量保存的是这个对象的引用
在方法中
变量的引用保存在栈中
对象保存在堆中
Dog d=new Dog(“旺财”,3,17.6,“金毛”);
Dog dd=d;
dd.name=“亏财”;
System.out.println(d.name);
2)引用数据类型数组
Dog[] dogs=new Dog[4];
默认值:{null,null,null,null};
引用数据类型数组元素的默认值是
null
3)关于null和null指针异常
3.1)null是个常量,表示当前引用
没有引用任何对象
当这样的null对象打.调用属性或方法
时,会出现null指针异常
3.2)通常情况下
如果在遍历引用类型数组时
发生null指针异常
那么需要在元素调用属性或方法前
加入一个if判断
多维数组(二维数组)
1)普通数组中,数组元素是具体数据
二维数组中,数组元素又是数组