一、封装

  封装是指隐藏对象的属性及实现细节,对外仅提供接口可见。封装实现了信息隐藏,利于软件复用。其优点是达到了模块化的标准,从而提高了代码的复用程度。在某种程度上,封装也大大改善了软件开发的可维护性,降低了构建复杂软件系统的风险。

public class TV {
  private int volume;
  private int color;
  public int getVolume() {
    return volume;
  }
  public void setVolume(int volume) {
    this.volume = volume;
  }
  public int getColor() {
    return color;
  }
  public void setColor(int color) {
    this.color = color;
  }

  public void turnOn(){
    turnOn_impl();
  }

  //开机内部实现
  private void turnOn_impl(){
    //...
  }

}

上面代码定义了一个电视机类TV,包含两个属性:音量volume,颜色color,还定义了一些方法。从类的属性可以看到,音量volume、颜色color属性均定义成private私有类型,只能通过相关方法对其操作。类TV对其属性volume、color实现了封装。

二、继承

  继承是指一个类是从另一个类派生而来的,派生类自动具有了被继承类的所有特性。被继承类称为父类,继承父类的类称为子类。继承可以是子类具有父类的各种属性和方法,而不需要再次编写相同的代码。继承也极大地促进了软件的复用,而且继承的形式可以更加复杂。

public class GeneralTV extends TV{
  public static void main(String[] args) {
    GeneralTV tv = new GeneralTV();
    tv.setVolume(1);
    System.out.println(tv.getVolume());
  }
}

GeneralTV继承了TV,因此拥有TV的属性和方法。

三、多态

  多态是指对于一种服务功能,可以具有不同的实现方式,即多种形态。多态形象地描述了现实世界的复杂形态,使程序具有良好的扩展性。在继承的基础上,方法重载是实现多态的方式之一。

public class Human {
  public void sayHello(){

  }
}

class Chinese extends Human{
  public void sayHello(){
    System.out.println("您好");
  }
}

class American extends Human{
  public void sayHello(){
    System.out.println("hello");
  }
}
class testclass{
  public static void main(String[] args) {
    Chinese c = new Chinese();
    c.sayHello();
    American a = new American();
    a.sayHello();
  }
}

以上代码首先定义了父类Human,只具有一个方法,方法没有具体的实现。然后分别定义了两个子类Chinese和American,均继承类Human,并且都对sayHello方法实现了重写,具有各自不同的实现方式。

java三大特性性:封装、继承和多态的更多相关文章

  1. java三大特性:封装、继承、多态

    Java三大特性之封装   一.定义 封装性指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.使用封装的好处: 1 ...

  2. Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

    Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态) 1.面向对象的三大特性: (1)继承 ​ 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可以 ...

  3. JAVA三大特性之一——封装

    自学java已经有一段时间了,但是感觉对于很多知识点还是有必要总结和整理一下,下面我就来说一下我对JAVA三大特性之一——封装特性的认识和理解. 封装,从字面意思可以看出来,就是包装,也就是把我们写好 ...

  4. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  5. Java三大特性:封装,继承,多态

    java提高篇(一)-----理解java的三大特性之封装 概念: 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独 ...

  6. java三大特性(封装、继承、多态)

    oop(面向对象程序设计)具有三大特性:封装.继承.多态 一.封装 封装就是讲类的信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的实现隐藏信息的操作和访问. 实现封装 1.需要修改属性的访问 ...

  7. Java 三大特性:封装、继承、多态

    一.封装: 对内 可封装自己的实现细节,使之信息隐藏不被其它类破坏: 对外 各个类之间分工明确, 其它类无需关心实现细节,类中细节发生改变,其它类也无需作出更改: 二.继承: 从已有的类中派生出新的类 ...

  8. 浅谈Java三大特性之封装

    目录 前言 好处 介绍(实现方式) 示例 小结 感谢阅读!!! 三大特性之浅谈封装 前言 英语:Encapsulation--封装,包装. 面向对象的封装与真实世界的目的是一样的.封装能够使外部访问者 ...

  9. Java三大特征:封装 继承 多态

    内部类:成员内部类.静态内部类.方法内部类.匿名内部类. 内部类:定义在另外一个类里面的类,与之对应,包含内部类的外部类被称为外部类. 内部类的作用:(1)内部类提供了更好的封装,可以把内部类隐藏在外 ...

随机推荐

  1. bzoj 2282 [Sdoi2011]消防(树的直径,二分)

    Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个国家 ...

  2. Ural1057 - Amount of Degrees(数位DP)

    题目大意 求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和.例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意: 输入:第一行包含两个整 ...

  3. [读书笔记]算法(Sedgewick著)·第一章(2)

    接着上一篇,mindmap更新如下内容. 3.背包.队列和栈 这节主要讲述了这三种数据结构(Bag.Queue.Stack)的API.实现以及链表.Queue和Stack还含有删除元素的方法.并引出了 ...

  4. 电脑无法识别U盘(usb类外接设备)的解决办法

    首先分析USB无法识别的硬件原因: 1.BIOS禁用了USB设备.(进入BIOS,将"Enable USB Device"修改为"Enable") 2.USB接 ...

  5. C#- FTP递归下载文件

    c# ftp递归下载文件,找来找去这个最好.(打断点,一小处foreach要改成for) /// <summary> /// ftp文件上传.下载操作类 /// </summary& ...

  6. Python实现二叉树的前序遍历、中序遍历

    计算根节点到叶子节点的所组成的数字(1247, 125, 1367)以及叶子节点到根节点组成的数字(7421, 521, 8631),其二叉树树型结构如下 计算从根节点到叶子节点组成的数字,本质上来说 ...

  7. 14周事情总结-机器人-大数据hadoop

    14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ...

  8. PowerShell随笔2_分支 选择 循环 特殊变量

    PowerShell特殊变量: PowerShell的特殊变量由系统自动创建.用户自定义的变量名称应该不和特殊变量相同. $^ :前一命令行的第一个标记 $$ :前一命令行的最后一个标记 $_ :表示 ...

  9. codeforces 132C Logo Turtle--- dp dfs

    题目在这里:点击打开链接 题意: F表示前进一步,T表示变成反方向 给一串FT字符,和一个n,表示可以改变多少次,求可以走到的离原点最远的距离 改变就是F变成T.T变成F 关键: dfs(int d, ...

  10. 自定义HttpHandler配置iis8.0

    配置环境,window8 ,iis8.0,.net Framework4.0,托管管道模式“经典” 步骤 (1)进入iis管理器,选中要设置的网站-->功能视图-->MIME类型--> ...