oop(面向对象程序设计)具有三大特性:封装、继承、多态

一、封装

  封装就是讲类的信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的实现隐藏信息的操作和访问。

  实现封装

    1、需要修改属性的访问控制符(private)

    2、创建getter/setter方法(用于属性读写)

    3、在getter/setter方法中加入属性控制语句(用于判断属性值的合法性)

public class Student{private  String name;public void setName(String name){this.name=name;}public String getName(){return name;    }

二、继承

  继承是类与类的一种关系,比如说,狗属于动物。可以看成狗类继承了动物类,那么狗类就是动物类的子类(派生类),动物类就是狗类的父类(基类)。在Java中一个子类只能有一个父类。

//父类:动物类
public class Animal{public int age;public String name;public void eat(){System.out.println("动物具有吃东西的本领!");}
}
//子类:狗类
public class Dog extends Animal {}

三、 多态

多态指的是对象的多种形态。多态有两种:引用多态和方法多态。继承是多态的实现基础。

1.引用多态

父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。

//父类:动物类
public class Animal{public int age;public String name;public void eat(){System.out.println("动物具有吃东西的本领!");}
}
//子类:狗类
public class Dog extends Animal {}
//测试类
public class Test{public static void main(String[] args) {//父类的引用可以指向本类的对象Animal ani1 = new Animal();//父类的引用可以指向子类的对象Animal ani2 = new Dog();    }
}

2. 方法多态

创建父类对象时,调用的方法为父类方法;

创建子类对象时,调用的方法是子类重写的方法或继承自父类的方法;

不允许通过父类的引用调用子类独有的方法。 

//父类:动物类
public class Animal{public int age;public String name;public void eat(){System.out.println("动物具有吃东西的本领!");}
}
//子类:狗类
public class Dog extends Animal {public void eat(){System.out.println("狗是吃肉的。");}
}
//测试类
public class Test{public static void main(String[] args) {//父类的引用可以指向本类的对象Animal ani1 = new Animal();//父类的引用可以指向子类的对象Animal ani2 = new Dog();//输出动物具有吃的本领
    ani1.eat();    //输出狗是吃肉的
    ani2.eat();}
}

java三大特性(封装、继承、多态)相关推荐

  1. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  2. Java面向对象三大特性(封装继承多态)解释及案例

    文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...

  3. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  4. Java提高篇 —— Java三大特性之继承

    一.前言 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事 ...

  5. python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)

    面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...

  6. 三大特征 封装 继承 多态

    ''' 1.面向对象与面向过程 面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点:扩展性 ...

  7. Java三大特性[封装,继承,多态]

    封装 封装是使类中的成员变量都是private,并提供public方法访问这些变量的技术 实现封装: 1).修改属性的可见性来限制对属性的访问. 2).为每个属性创建一对赋值方法和取值方法,用于对这些 ...

  8. java三大特性——封装,继承,多态

    1.封装 使用封装有三大好处: 1.良好的封装能够减少耦合. 2.类内部的结构可以自由修改. 3.可以对成员进行更精确的控制. 4.隐藏信息,实现细节. 5.封装我们也能够对对象的出口做出很好的控制, ...

  9. Python全栈开发——面向对象的三大特性(继承 多态 封装)

    1.继承 1.两层意思 改变和扩展(详细看随笔继承和组合) 2.多态(体现在运行时的状态) 1.不同的类可以调用相同的方法,得到不同的结果 2.实际上是继承的一种体现机制 class H2o:def ...

  10. Java面向对象三大特性之继承多态的预习笔记,are you ready? 面对疾风吧!

    文章目录 继承(extends) super关键字 方法重写 instanceof关键字 abstract关键字 接口(interface) 多态 继承(extends) AextendsB A继承了 ...

最新文章

  1. Win32 API 枚举打印机
  2. JDBC之应用程序分层
  3. Interference Signal 第八届
  4. PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)
  5. Java面向对象(1)--对象的创建使用类的实例化
  6. 牛客 21302 被3整除的子序列 (动态规划、Python)
  7. UP-DETR:收敛更快!精度更高!华南理工微信开源无监督预训练目标检测模型...
  8. 9.广义霍夫变换——介绍、广义霍夫变换步骤、实例_1
  9. 什么是分布式_什么是分布式系统,如何学习分布式系统?
  10. 【MyBatis笔记】13-一对多左连接查询分步查询(查询所有客户及客户对应的订单)
  11. springboot做网站_Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!
  12. 《solidity学习笔记》chapter 2-solidity基础知识
  13. win98进入dos
  14. c语言编译器pellc,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1
  15. 用Python实现微信定时发送消息
  16. 大屏互动-大屏交互-大屏投影技术解决方案
  17. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccc
  18. 双软认证企业税收优惠政策
  19. daytime协议的服务器和客户端程序,用socket套接字实现daytime协议的服务器和客户端程序精编版.doc...
  20. 关于在手机端可以看到加入的百度网盘群,在pc段找不到的原因

热门文章

  1. 【kuangbin专题】Manacher
  2. java操作字节码_操作Java字节码
  3. python k线合成_在VNPY中策略中,使用分钟线合成日K线
  4. FISCO BCOS 区块最大最长交易执行时间
  5. 微信小程序云开发教程-WXML入门-条件渲染
  6. 关于Jedis和lettuce以及springDataRedis的一些区别
  7. 循证医学 计算机辅助决策系统,循证医学重点整理
  8. java echarts 饼图_饼图 | ECharts 数据可视化实验室
  9. java servlet JSP 区别_servlet和jsp的区别
  10. 8路抢答器c语言程序,多路抢答器c程序(原创)