今天给大家讲一下面向对象中的构造,封装;
构造:构造方法有以下几个特点:1.方法名和类名一致。2.无返回类型。接下来的几种构造样式,直接上代码吧:
//这是一个宠物类 有一个属性:名字(name)
public class Pet {
String name;
//无参构造
public Pet(){
this.name = "哈士骑";
}
//有参构造
public Pet(String name1){
this.name = name1; //这里我没用 this.name = name;这样也可以,我怕你们不理解;
}
//这里我是直接就在这个里建了一个测试方法
public static void main(String[] args){
//这里我用先测试了无参构造,系统都会自动识别的,当我没给参数那就他会自动调用那个无参构造
Pet dog = new Pet();
System.out.println(dog.name);//输出结果:哈士骑
//下面这个是调用了有参构造
Pet dog2 = new Pet("拉布拉多");
System.out.println(dog2.name);//输出结果:拉布拉多
}
}
以上是简单的构造,你学会了没;不懂可以问我,接下来走进下一个:
封装:封装有以下特点:要用到private 私有的,封装封装,那就是必须要封起来,所以要用私有属性,其他类要访问封装好了的属性就必须通过接口才能获取和修改;接下来请看简单代码详解:
//这是一个汽车类,里面放了两个属性:车轮(wheels) ,车重(weight)
第一种:没有封装的
public class Vehicle {
int wheels;//车轮个数
double weight;//车重
}
我建一个测试方法 来访问Vehicle 里面的属性:
public class TestVehicle{
public static void main(String[] args){
Vehicle c = new Vehicle();
System.out.println("车轮个数:"+c.wheels+"车重:"+c.weight);//因为Vehicle类没有封装,所有我可以直接访问到他的属性;
}
}
没封闭的应该不用怎么讲了
第二种:封装了的 ,只要正常封装了的 都可以看到get set 的代码;
封装快捷键:第一种:如下图 ,直接右击 然后看图
第二种:移到要封装的属性:Alt+? 然后也会出现一排 字母 里面有get set 还有就是属性必须设为私有的属性
public class Vehicle {
private int wheels;//车轮个数
private double weight;//车重
public int getWheels() {
return wheels;
}
public void setWheels(int wheels) {
this.wheels = wheels;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
我建一个测试方法 来访问Vehicle 里面的属性:
public class TestVehicle{
public static void main(String[] args){
Vehicle c = new Vehicle();
System.out.print(c.getWheels()+" "+c.setWeight());//这个时候去访问他的属性时就必须调用他的接口去访问,不然访问不到,要修改也是要通过接口,记住:get 是得到,就是获取的意思,set 就是修改的意思,多练一练,就好理解了;
}
}
最后再给大家总结一下,构造就是方法名和类名一致,封装就是要有:get 和set 然后要是私有属性,理清楚一点就好了;
本来想继承,和 重载 和多态也一起讲了,但是没时间写了,;
等下晚上或者明天给大家讲解一下;
我将会努力学习持续更新,谢谢大家观看,不懂的可以私信我,给个关注,谢啦,拜拜,下次见;