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

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

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

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

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

java中的构造,封装的更多相关文章

  1. java中基本类型封装对象所占内存的大小(转)

    这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...

  2. 2.java中c#中statc 静态调用不同之处、c#的静态构造函数和java中的构造代码块、静态代码块

    1.java和c#静态成员调用的不同之处 static 表示静态的,也就是共享资源,它是在类加载的时候就创建了 java中   可以通过实例来调用,也可以通过类名.成员名来调用,但是一般最好使用类名. ...

  3. java 中的JDK封装的数据结构和算法解析(集合类)----顺序表 List 之 ArrayList

    1. 数据结构之List (java:接口)[由于是分析原理,这里多用截图说明] List是集合类中的容器之一,其定义如下:(无序可重复) An ordered collection (also kn ...

  4. Java中的构造代码块

    代码块 ----a静态代码块 ----b构造代码块 ----c普通代码块 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. a.静态代码块: 静态代码块 ...

  5. Java中对象构造

    构造函数 作用:在构造对象的同时初始化对象.java强制要求对象 诞生同时被初始化,保证数据安全. 调用过程和机制:①申请内存,②执行构造函数的函数体,③返回对象的引用. 特点:与类同名,无返回类型, ...

  6. 【Java基本功】一文了解Java中继承、封装、多态的细节

    本节主要介绍Java面向对象三大特性:继承 封装 多态,以及其中的原理. 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来 ...

  7. Java中如何使封装自己的类,建立并使用自己的类库?

    转自:http://blog.csdn.net/luoweifu/article/details/7281494 随着自己的编程经历的积累会发现往往自己在一些项目中写的类在别的项目中也会有多次用到.你 ...

  8. 对Java中多态,封装,继承的认识(重要)

                                                            一.Java面向对象编程有三大特性:封装,继承,多态 在了解多态之前我觉得应该先了解一下 ...

  9. 关于Java中的构造方法和set方法()给属性赋值

    对于一个类中的成员变量(属性),属性如果都设置成了private类型,那么对外给属性设置了get和set方法 , 那么外部程序中给这些属性设置值,有两种方式. 第一种就是通过set()方法. 第二种就 ...

随机推荐

  1. SpringBoot的HelloWorld 应用及解释

    参考链接: Spring Data JPA - Reference Documentation Spring Data JPA--参考文档 中文版 纯洁的微笑:http://www.ityouknow ...

  2. python JavaScript

    JavaScript 一. JavaScript Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的. a. JavaScript的引入方式 1 2 3 4 5 6 7 #直接编写 ...

  3. Hive函数:CUME_DIST,PERCENT_RANK

    参考自:大数据田地http://lxw1234.com/archives/2015/04/185.htm 数据准备: d1,user1, d1,user2, d1,user3, d2,user4, d ...

  4. SpringMVC(七):@RequestMapping下使用POJO对象绑定请求参数值

    Spring MVC会按照请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值,支持级联属性. 如:address.city.dept.address.province等. 步骤一:定义Ac ...

  5. SpringMVC(一):搭建一个SpringMVC helloword项目

    操作步骤: 1)下载spring framework开发包,给eclipse安装spring开发插件,如何安装开发插件&下载开发包请参考我的博文:<Spring(一):eclipse上安 ...

  6. 如何用webgl(three.js)搭建一个3D库房-第二课

    闲话少叙,我们接着第一课继续讲(http://www.cnblogs.com/yeyunfei/p/7899613.html),很久没有做技术分享了.很多人问第二课有没有,我也是抽空写一下第二课. 第 ...

  7. MySQL · 引擎特性 · InnoDB 数据页解析

    前言 之前介绍的月报中,详细介绍了InnoDB Buffer Pool的实现细节,Buffer Pool主要就是用来存储数据页的,是数据页在内存中的动态存储方式,而本文介绍一下数据页在磁盘上的静态存储 ...

  8. 微信小程序之Todo

    wxAppTodos   todomvc提供了在当今大多数流行的JavaScript MV*框架概念实现的相同的Todo应用程序,觉得这个小项目挺有意思,最近在学习微信小程序,故用小程序做一版Todo ...

  9. Oracle数据库基础练习题

    --1.查询和SMITH相同部门的员工姓名和雇用日期select ename,hiredate from emp where deptno=(select deptno from emp where ...

  10. PHPCMS v9.5.8-设计缺陷可重置前台任意用户密码

    验证.参考漏洞:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0152291.html 漏洞出现在/phpcms/modules/member/in ...