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. Java三大特性(封装,继承,多态)

    Java中有三大特性,分别是封装继承多态,其理念十分抽象,并且是层层深入式的. 一.封装 概念:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据 ...

  2. C++三大特性 封装 继承 多态

    C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...

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

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

  4. Java 三大特性——封装、继承、多态

    一.封装 封装,实际就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 概念:在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节 ...

  5. 浅析Java三大特性封装、继承、多态,及作业分析

    前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...

  6. java面向对象(封装-继承-多态)

    框架图 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向对象的特点 ...

  7. Java基础——面向对象(封装——继承——多态 )

    对象 对象: 是类的实例(实现世界中 真 实存在的一切事物 可以称为对象) 类: 类是对象的抽象描述 步骤: 1.定义一个类 (用于 描述人:) ( * 人:有特征和行为) 2.根据类 创建对象 -- ...

  8. OOP三大核心封装继承多态

    OOP支柱 3 个核心:封装 继承 多态 封装就是将实现细节隐藏起来,也起到了数据保护的作用. 继承就是基于已有类来创建新类可以继承基类的核心功能. 在继承中 另外一种代码重用是:包含/委托,这种重用 ...

  9. java 三大特性_继承、封装、多态_day005

    一.继承: java的三大特性之一.两个类之间通过extends关键字来描述父子关系,子类便可拥有父类的公共方法和公共属性.子类可以继承父类的方法和属性,子类也可以自己定义没有的方法或者通过覆盖父类的 ...

  10. JAVA的三大特征 封装继承多态- 简单总结

    简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对 ...

随机推荐

  1. No.3一步步学习vuejs之计算属性和观察者

    一.计算属性运行结果 <div id = "demo1"> <p>Original message: "{{message}}"< ...

  2. js-js和HTML的两种结合方式

    第一种: - 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种: - 使用script标 ...

  3. ActiveX界面已显示,调用方法报undefined的处理办法

    1.在ie中将当前网址加入信任网站 2.设置->internet选项->安全->受信任站点->自定义级别:将所有有关ActiveX的选项设置为启用 3.重启ie再次访问即可. ...

  4. web前端开发需要具备的技能

    web前端开发需要具备以下7种技能: 1.页面标记(HTML) HTML页面固定,标签不多,相对来说学起来比较容易.编写HTML代码需遵循HTML代码规范(http://www.cnblogs.com ...

  5. 一点点学习的心得-MetroJS

    原文:http://zhangxiaolun.lofter.com/post/217084_73a1a9# 在最近的一个项目中,页面上有一部分由一些图片方块组成,要求说是:“做成类似动画的东东,最好可 ...

  6. Python爬虫教程-24-数据提取-BeautifulSoup4(二)

    Python爬虫教程-24-数据提取-BeautifulSoup4(二) 本篇介绍 bs 如何遍历一个文档对象 遍历文档对象 contents:tag 的子节点以列表的方式输出 children:子节 ...

  7. 用C语言指针作为函数返回值

    转载:http://c.biancheng.net/cpp/html/3242.html C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlon ...

  8. 错误的git reset操作之后的补救措施

    (相关命令:git reset.git log.git reflog,要看文档的话用--help.) 这是一次愚蠢的行为之后的总结……避免我之后忘记了解决方法[逃 get reset --hard是一 ...

  9. 续Html5

    HTML5 规定了一种通过 video 元素来包含视频的标准方法 当前video元素支持的三种视频格式 首先呢,显示视频所需要的是 <video src="movie.ogg" ...

  10. Python零基础学习系列之四--Python程序设计思想

    前面我们把Python环境安装成功,同时也选择了自己合适的IDE工具来开启自己的编程之旅. 那么今天来说说怎么编程,程序设计需要什么步骤,我们应该怎么做才能编写自己的程序. 1-1.程序设计方法: I ...