目录
//对象也可以理解为一个容器,这个容器中可以存储多个不同类型的数据(体现在对象的属性上),至于这个对象能够存储多少个数据取决于对象的类里定义了多少个属性
? ? ? ?Dog dog1 = new Dog();
? ? ? ?//给属性赋值
? ? ? ?dog1.name = "奥迪";
? ? ? ?dog1.age = 2;
? ? ? ?dog1.gender = '公';
?
? ? ? ?Dog dog2 = new Dog();
? ? ? ?//给属性赋值
? ? ? ?dog2.name = "宝马";
? ? ? ?dog2.age = 2;
? ? ? ?dog2.gender = '母';
?
? ? ? ?Dog dog3 = new Dog();
? ? ? ?//给属性赋值
? ? ? ?dog3.name = "奔驰";
? ? ? ?dog3.age = 2;
? ? ? ?dog3.gender = '公';
?
? ? ? ?//我希望将这个三个dog对象存储到数组中
? ? ? ?//数据类型[] 数组名 = new 数据类型[数组长度];
? ? ? ?//数据类型[] 数组名 = new 数据类型[]{数据1,数据2,...,数据n};
? ? ? ?//数据类型[] 数组名 = {数据1,数据2,...,数据n};
? ? ? ?Dog[] dogs = {dog1,dog2,dog3};
对象数组遍历的结果为数组地址,想要取到数组内的数据,需要使用
对象名.属性名;
例如
for(int i =0;i< dogs.length;i++){
? ? ? ? ? System.out.println(dogs[i].name);
? ? ? ? ? System.out.println(dogs[i].age);
? ? ? ? ? System.out.println(dogs[i].gender);
? ? ? }
构造方法:
? ? ? ?访问修饰符 类名([形参列表]){
?
? ? ? }
//定义一个无参构造方法
? ?public Animal(){
?
? }
无参构造器
有参构造器
构造方法的特点:
构造方法没有返回值,void也不需要写
构造方法的名称与类名相同
当年在类中添加了其他的构造方法,会覆盖掉类中默认的无参构造方法,如果你还需要使用无参构造方法去创建对象,就需要手动添加无参构造方法。
this关键字解决了自定义变量与方法中传入的同名变量的混乱。
this关键字表示你创建的对象,谁调用该构造方法,this就表示谁
4.1方法重载的条件:
在同一个类中
方法名相同
参数列表不同(体现在参数的个数、类型、顺序上面)
与返回值类型无关
与访问权限修饰符无关
4.2 方法重载的实例:
有参构造器与无参构造器就是方法的重载。