`

Java中封装、继承、多态

    博客分类:
  • Java
阅读更多
1. Java中封装

封装:就是隐藏对象的属性和实现细节,仅对外提供公共访问方式。

隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便的加入存取控制语句,限制不合理操作。

1. 数据封装:保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问。

2. 方法封装:方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者。

public class Test {
    public int add(int a, int b){
        return a + b;
    }
    public void output(){
        System.out.println("Hello World");
    }
    public void method(int a){
        if(a < 10){
            return;
        }
        System.out.println("Welcome!!");
    }
    public static void main(String[] args){
        Test test = new Test();
        int x = 8;
        int y = 3;
        int a = test.add(x, y);
        System.out.println(a);
		
        test.output();
        int m = 15;
        test.method(m);
    }
}
11
Welcome!!


2. Java中继承

继承:继承是从已有的类中派生出新的类称为子类,子类继承父类的数据属性和行为,并能根据自己的需求扩展出新的行为。

通过extends关键字来实现,是实现代码重用的重要手段之一。Java是单继承,每个类只能有一个父类。所有类都是Object类的子类。

继承总结:
a) 父类有的,子类也有
b) 父类没有的,子类可以增加
c) 父类有的,子类可以改变

1. 属性
    父类有,子类没有(父类调用父类的属性,子类调用父类的属性)
    父类有,子类有(父类调用父类的属性,子类调用子类的属性)
    父类没有,子类有(父类无法调用属性,子类调用子类的属性)
    父类没有,子类没有(父类无法调用属性,子类无法调用属性)
(1) 父类有属性就用父类属性,没有就无法调用属性。
(2) 子类有属性就用子类属性,子类没有属性父类有就用父类的,子类没有属性父类也没有属性就无法调用属性。

2.方法
1) 构造方法(空)
    父类有,子类没有(父类调用父类的构造方法,子类调用父类的构造方法、子类默认的构造方法)
    父类有,子类有(父类调用父类的构造方法,子类调用父类、子类的构造方法)
    父类没有,子类有(父类调用父类默认的构造方法,子类调用父类默认的构造方法、子类的构造方法)
    父类没有,子类没有(父类调用父类默认的构造方法,子类调用父类默认的构造方法、子类默认的构造方法)
(1) 父类有构造方法就用父类的构造方法,没有就使用父类默认的构造方法。
(2) 父类有构造方法就用父类的构造方法,没有就使用父类默认的构造方法。子类有构造方法就用子类的构造方法,没有就使用子类默认的构造方法。
注意:这种情况是在没有其他构造方法的情况下。
2) 构造方法(非空)
3) 一般方法
    父类有,子类没有(父类调用父类的一般方法,子类调用父类的一般方法)
    父类有,子类有(父类调用父类的一般方法,子类调用子类的一般方法)
    父类没有,子类有(父类无法调用一般方法,子类调用子类的一般方法)
    父类没有,子类没有(父类无法调用一般方法,子类无法调用一般方法)
(1) 父类有属性就用父类一般方法,没有就无法调用一般方法。
(2) 子类有属性就用子类一般方法,子类没有属性父类有就用父类的,子类没有一般方法父类也没有一般方法就无法调用一般方法。

public class InheritenceTest {
    public static void main(String[] args){
        Dog dog = new Dog();
        dog.run();
    }	
}
class Animal{
    public void run(){
        System.out.println("animal is running");
    }
}
class Dog extends Animal{
    public void run(){
        System.out.println("dog is running");
        super.run();
    }
}
dog is running
animal is running


3. Java中多态

多态:指允许不同的对象对同一消息做出相应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

“一个接口,多种方法”,同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。重载(overload)和重写(override)是实现多态的两种主要方式。

多态的三个条件:
a) 继承的存在(继承是多态的基础,没有继承就没有多态)
b) 子类重写父类的方法(多态下调用子类重写的方法)
c) 父类引用变量指向子类对象(子类到父类的类型转换)

实现多态:
a) 接口多态性
b) 继承多态性
c) 通过抽象类实现的多态性

public class PolyTest {
    public void run(Car car){
        car.run();
    }
    public static void main(String[] args){
        PolyTest test = new PolyTest();
        Car car = new BMW();
        test.run(car);
        QQ qq = new QQ();
        test.run(qq);
    }
}
class Car{
    public void run(){
        System.out.println("car is running");
    }
}
class BMW extends Car{
    public void run(){
        System.out.println("BMW is running");
    }
}
class QQ extends Car{
    public void run(){
        System.out.println("QQ is running");
    }
}
BMW is running
QQ is running


Java面向对象的三个特性:封装、继承、多态。(如果说四种就加一种:抽象)
分享到:
评论

相关推荐

    封装继承多态总结

    封装继承多态总结

    java封装 继承与多态

    java封装 继承与多态 程序设计 类与对象

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析

    java基础继承封装多态

    本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析

    Java封装继承多态实例以及文件流操作

    在这个实例中,我们将探讨四个关键概念:封装、继承、多态以及文件流操作,这些都是Java中的核心特性,也是理解OOP(面向对象编程)的基础。 首先,**封装**是面向对象编程的核心理念之一,它涉及将数据和方法捆绑...

    java面向对象三要素封装继承和多态源码

    java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...

    JAVA封装继承与多态PPT教案学习.pptx

    JAVA 封装继承与多态是面向对象程序设计语言中三个重要的概念,本文将对这三个概念进行详细的解释。 一、封装 封装是指隐藏对象的内部细节,使对象外部不能随意存取对象的内部数据的过程。JAVA 中,对象就是一个...

    java中继承与多态的题目

    Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...

    前端模块化脚手架,可实现类似java的封装继承多态特性

    这个名为“前端模块化脚手架”的工具,旨在为前端开发者提供一个类似于Java语言的封装、继承和多态特性的开发环境。通过这样的框架,开发者可以在JavaScript中模拟出面向对象编程的特性,使前端开发更加规范和高效。...

    four_java继承封装和多态_four_againgpg_

    在Java编程语言中,继承、封装和多态是面向对象编程的三大核心概念,它们构成了Java类层次结构的基础。在这个名为"four_java继承封装和多态_four_againgpg_"的压缩包中,我们预计将看到三个不同的Java类,这些类展示...

    JAVA面向对象基础测试题-继承-封装-多态等测试题.docx

    OOP 的主要特征包括封装、继承和多态。 1. **封装**:封装是将数据和操作数据的方法捆绑在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式。这样可以减少外部环境对对象的影响和破坏,提高代码的安全性和...

    java面向对象的基本知识,封装继承多态等

    java面向对象的基本知识,封装继承多态等

    详解java封装继承多态

    Java 封装继承多态详解 Java 中的封装、继承和多态是面向对象编程(Object Oriented Programming)三大特性。下面,我们将详细介绍这三者之间的关系和应用。 封装是指将数据和方法放入类中,并控制对数据的访问...

    java 三大特性--封装、继承和多态理解

    通过分析给定的文件名称"demo",我们可以推测这是一个示例代码或者演示程序,可能包含了对Java封装、继承和多态的实践应用。在深入研究这个"demo"文件之前,开发者可以先理解这三个基本概念,以便更好地理解代码逻辑...

    java总结,基础语法,面向对象,封装继承多态,异常

    java总结,基础语法,面向对象,封装继承多态,异常

    封装、继承、多态.docx

    封装、继承、多态 一、 封装 封装是面向对象编程的三大特性之一,它是指将同一类事物的特性与功能包装在一起,对外暴露调用的接口...Java 面向对象的三大特性是:封装、继承与多态。这三大特性是面向对象编程的核心。

    jave 继承、封装、多态

    面向对象编程是Java的核心特性,它包括三个主要概念:封装、继承和多态。下面将分别详细介绍这三个概念以及它们在Java编程中的应用。 **封装**是面向对象编程的基础,它强调将数据和行为捆绑在一起,形成一个独立的...

    Java SE编程入门教程 java封装继承多态(共56页).pptx

    在Java中,`extends`关键字用于实现继承,多态则通过方法重写和抽象类/接口来实现。 3. **类和对象**:类是对象的蓝图,它定义了对象的属性(变量)和行为(方法)。对象是类的实例,具有类定义的属性和方法。Java...

    Java面向对象编程(封装/继承/多态)实例解析

    在 Java 中,面向对象编程主要体现在三大特征:封装、继承和多态。 封装是指隐藏对象的内部细节,而仅暴露必要的信息给外部世界。通过封装,可以保护对象的内部状态,并提供对外部访问的接口。在 Java 中,封装可以...

Global site tag (gtag.js) - Google Analytics