今天给大家讲一下面向对象中的构造,封装;

构造:构造方法有以下几个特点: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 然后要是私有属性,理清楚一点就好了;

本来想继承,和 重载 和多态也一起讲了,但是没时间写了,;

等下晚上或者明天给大家讲解一下;

我将会努力学习持续更新,谢谢大家观看,不懂的可以私信我,给个关注,谢啦,拜拜,下次见;

最新文章

  1. hive 创建三种文件类型的表
  2. _学生选课数据库SQL语句练习题
  3. Java-HashMap和HashTable的区别
  4. 设置textview背景色为透明
  5. Change the ball(找规律)
  6. MariaDb数据库管理系统的学习(一)安装示意图
  7. 【java基础之jdk源码】Object
  8. DOCKER 从入门到放弃(二)
  9. shell脚本整段注释
  10. 《深入理解Java虚拟机》-----第7章 虚拟机类加载机制——Java高级开发必须懂的
  11. Django模型初识
  12. board_led.h/board_led.c
  13. es中的停用词
  14. 每日linux命令学习-sed
  15. .bat文件的用途
  16. ios中改变UIImagePickerController页面的button的文字为中文
  17. 【刷题】BZOJ 2599 [IOI2011]Race
  18. What is OWIN? A Beginners Guide
  19. QT分析之QApplication的初始化
  20. Python之Matplotlib库常用函数大全(含注释)

热门文章

  1. C# 后台构造json数据
  2. Django form表单
  3. layer ui插件显示tips时,修改字体颜色
  4. Python3NumPy——数组(2)之数学空间与NumPy空间
  5. AutoFac+MVC+WebApi源码----我踩过的坑
  6. python打包工具distutils、setuptools分析
  7. Android重构篇——项目架构篇
  8. [NOIp 2016]愤怒的小鸟
  9. POJ1509 Glass Beads
  10. poj1741Tree 点分治