Java面向对象的几个特征分别为:封装,继承,抽象,多态。

1封装:

这里的封装主要是针对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装旨在对不同对象的方法进行封装处理,即不同对象的方法处在一个单独的对象类中。把对象的全部属性和全部服务结合在一起,形成不可分割的独立的单位(对象);信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

封装的优点:使对象以外的部分不能随意存取对象内部的数据,有效避免交叉感染,使软件错误局部化,减少查错和排错的难度。

2 继承:

使用一个特殊类拥有其全部的属性和服务,作为父类,他可以有多个子类,一般的类去实现,比如:父类为 人,子类可以是 男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。

3 抽象:

Java中抽象可以是抽象类、抽象方法,使用abstract修饰。其中抽象类中可以有抽象方法和非抽象方法,抽象方法。据有抽象方法的类一定是抽象类。抽象方法一般只有方法名,没有方法的实现。如:public abstract void test(); 且抽象方法的权限修饰必须是protected public 的,因为子类在继承抽象父类的时候,必须要实现父类所有的抽象方法。

4 多态:

具有三个条件:1)继承 2)重写 3)父类对象引用指向子类对象

多态优点:

1.可替换性(substitutability)。多态对已存在代码具有可替换性。 
2.可扩充性(extensibility)。多态对代码具有可扩充性。 
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。 
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。 
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程。

以下为一个以上特征的例子:

package com.shxt.test.three;

public class TestAbstract {
public static void main(String[] args) {
//多态
Person p = new Man();
//抽象类调用先看子类中有没有重写父类中的方法,如果没有直接调用父类的方法
p.setName("asdfasd");
//为子类中重写的父类方法
p.walk();
System.out.println(p.getName() + " " + p.getClass());
//多态
Person p1 = new Man();

p1.test1();

}
}

abstract class Person {
public String name;
public int id;
static int i;

public String getName() {
return name;
}

public void setName(String name) {
System.out.println("父类");
this.name = name;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public abstract void walk();
public static void test1() {
// int i=0;
i = 1;
System.out.println(i);
System.out.println("我是父类中方法...");
}
}

class Man extends Person {
static int i;
    public String name;
   
@Override
public void walk() {
System.out.println("man walk");

}

public void test() {
System.out.println("test");
}

public static void test1() {
// int i=0;
i = 1;
System.out.println(i);
System.out.println("我是子类中方法...");
}

}

Java面向对象的四个特征相关推荐

  1. Java对象的两大特征_科学网—Java 面向对象的四个特征 - 李玖栋的博文

    1.抽象: 抽象--就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来一般叫做类或者接口.)抽象并不打 ...

  2. java的友好成员,java面向对象中四种权限(private,protected,public,友好型)详解...

    俗话说没有规矩就没有方圆,java作为一门严谨的面向对象的高级编程语言,自然对权限整个重要的问题有严格的控制. Java一共有四种权限,private (私有),public(公有).Protecte ...

  3. (兔C残篇)Java面向对象三个基本特征:封装

    今天聊天的主题是面向对象的三个基本特性之一的封装. 文章目录 1. 封装 1.1 高内聚 1.2 低耦合 1.3 封装 1. 封装 对于java封装的这个特性我们可以简易的理解成该露的露,该藏的藏. ...

  4. java面向对象第四章上机_java面向对象第四章

    一.接口的基础知识 1.为什么需要接口 为解决实际应用中,单一继承无法解决的问题 2.什么是接口 a)   基本概念? 接口是一种特殊的抽象类 接口是一种规范和标准,可以约束类的行为,是一些方法特征集 ...

  5. Java面向对象(四)final关键字

    一.final修饰变量 final修饰变量之后变量的直接值不能更改 ---- 常量. final定义的常量在对象创建完成之前允许改变一次值. java中 所说的常量往往是指静态常量 --- 只存储一份 ...

  6. java获取运行时对象,java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构...

    我们可以通过反射,获取对应的运行时类中所有的属性.方法.构造器.父类.接口.父类的泛型.包.注解.异常等.... 典型代码: @Test public void test1(){ Class claz ...

  7. java面向对象特征及阐述,Java面向对象四个特征

    Java面向对象有四个特征:抽象.封装.继承.多态.其中封装.继承.多态又被称为Java的基本特征. 抽象: Java中会把客观事物抽象成一个类.类就是封装了数据以及操作这些数据的代码逻辑实体.用字符 ...

  8. 【Java修行之路】--面向对象的三大基本特征:封装、继承、多态

    文章目录 Java面向对象的三大基本特征(封装.继承.多态) 1.Java访问权限修饰符 2.封装 2.1封装问题引例 2.2封装问题实例 2.3私有属性的Setter和Getter方法 2.4方法的 ...

  9. java面向对象的基本特征

    java面向对象的基本特征:封装 刚学习java的小伙伴们可能不大清楚java面向对象编程的是什么意思,这篇文章小编带大家聊一聊java面向对象编程的基本特征. java面向对象有三个基本特征,分别为 ...

最新文章

  1. RDKit:可视化药效团(Pharmacophore)
  2. SAP 动态安全库存设置
  3. Java与C/C++的比较(转)
  4. 虚拟化何以四两拨千斤
  5. Dos中@符号的使用演示(屏蔽echo off的回显)
  6. 服务器怎么虚拟化内存,服务器虚拟化内存大小
  7. 16 大常考算法知识点,你掌握了吗?
  8. CSS3学习手记(10) 过渡
  9. jquery用ajax,超简单的jquery的AJAX用法
  10. 无痛苦的软件维护——文档和代码
  11. 匈牙利命名法、骆驼命名法、帕斯卡(pascal)命名法 C#命名规范
  12. python是什么专业学的-Python开发专业学校排名是什么样的
  13. Android中使用sax解析XML
  14. BAT面试高级进阶,Java架构师之路
  15. 520 miix 小兵 黑苹果,Hackintosh黑苹果长期维护机型整理清单
  16. eclipse如何装php插件,Eclipse PHP插件(PHPEclipse)安装与配置图解
  17. 树莓派-13-红外遥控器HX1838
  18. 给定一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59
  19. 数据分析2021年最实用工具排名前6位出炉
  20. 阿里云ECS主机部署LAMP环境

热门文章

  1. 艺点教你制作好看的动画POSE
  2. 阿里云Redis百万千万读写慢排查实战
  3. 四、使用python+selenium搭建一个ppt翻译小程序(将ppt中的中文翻译为英文)
  4. python水印检测_TensorFlow Lite+OpenCV实现移动端水印的检测与去除
  5. oracle中给表加注释,Oracle基础知识(一) - 给表或列添加注释
  6. 网易易盾助力工信部装备工业发展中心 守卫网站安全第一道防线
  7. Python函数-函数式编程
  8. python销售数据分析方法_利用Python进行某单品销售数据分析
  9. js二十五道面试题(含答案)
  10. 网络行为审计系统部署方式