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

构造:构造方法有以下几个特点: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. python网络爬虫与信息提取 学习笔记day1

    Day1: 安装python之后,为其配置requests第三方库,并爬取百度主页内容. 语句解释: r.status_code检测请求的状态码,如果状态码为200,则说明访问成功,否则,则说明访问失 ...

  2. python利用文件对话框获取文件路径

    一.单文件 python3: import tkinter as tk from tkinter import filedialog root = tk.Tk() root.withdraw() fi ...

  3. Python基础数据类型之列表和元组

    一.列表   list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...

  4. POJ1236【Tarjan+缩点】

    题目大意:有向关系体现在电脑可以通过网络单向的传输文件,并规定一旦有电脑存在该文件,那么所有它能传输的电脑就能在第一时间得到这个文件,题目有两个问题,第一个是最少向网络中的几台电脑投放文件,能使得整个 ...

  5. linux系统下Apache日志分割(按天生成文件)

    Apache日志按天显示,修改Apache http.conf文件,注释默认的日志文件,修改为下面2行 ErrorLog "| /usr/local/apache/bin/rotatelog ...

  6. hdu1009 FatMouse' Trade---贪心

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009 题意:一共有n个房子,每个房子里有老鼠喜欢吃的javabeans,但是每个房间里的javabea ...

  7. ubuntu临时修改ip,mac的方法示例

    ifconfig eth0 down ifconfig eth0 154.84.28.148 netmask 255.255.255.0 route add default gw 154.84.28. ...

  8. webstorm中github的配置

    1.申请一个github账号,我这里的操作是已经有了账号的情况之下进行的. 打开webstorm,File-->settings,弹出settings框,输入git,得到以下界面,输入githu ...

  9. css 的一些知识点的整理

    css的一些标签整理   background-attachment: scroll;背景图可滚动 background-attachment: fixed; 固定背景的位置,不随着滚动条移动而移动 ...

  10. 详解vue移动端 下拉刷新

    看完这篇文章,相信大伙也一样可以,做出一个自己的刷新,加载的组件 说这个功能之前,大家要先了解一下,要怎么触发滚动条事件. 一定要注意,所有滚动事件都必须要满足这个条件,横向滚动条也一样, 只要满足子 ...