龙空技术网

java中的三大特性(封装继承多态)

大魔王KingKing 370

前言:

而今我们对“java封装继承多态的特点”可能比较着重,朋友们都需要学习一些“java封装继承多态的特点”的相关内容。那么小编也在网络上收集了一些关于“java封装继承多态的特点””的相关知识,希望小伙伴们能喜欢,小伙伴们一起来了解一下吧!

封装 private 修饰属性,使属性在其他类中不可见

将代码封装在方法中,将数据保存在对象中,

将属性方法定义在类中

用户不需要关心方法中代码执行的细节,只需

要知道方法的作用就可以了

继承 子类可以继承父类中的非私有的方法和属性

Person(age name sleep)

Student(age name sleep eat)

Employee

多态 对象的多种形态

Student s = new Student();

Person p = new Student();

Object o = new Student();

父类类型的引用指向子类对象

2 对象

程序其实就是对象的集合,对象是程序中最小

的单元,程序的执行是对象之间的相互作用。

用于创建对象的模板

面向对象编程,其实就是创建类

元数据:用来描述数据的数据

java中类的声明使用class

声明和实现必须在同一个时间完成,即代码必须

在类中

3.方法的定义

<modifiers><return_type><name>([arguments])

[throws exception]{

block of code

}

modifiers:修饰符必须存在,而且可以有多个,

多个修饰符之间没有固定顺序

return_type:方法的返回类型,如果没有返回值

使用void

name:方法名,符合标识符的命名规则

arguments:参数列表,可有可无,调用方法时需要

传递的参数类型

throws:抛出方法执行时产生的异常

普通成员方法,不使用static修饰符修饰

先有对象,再加载方法,在其他类中必须通过对象

调用方法,通过 . 来调用

在一个对象中,普通方法可以相互调用,直接通过

方法名调用

4.参数传递

基本类型参数传递,是值传递

引用类型参数传递,是引用传递

5.this

如果局部变量的名字和实例变量的名字相同,当在

方法中调用时,选择的局部变量

this关键字 指向当前类或对象

当指向对象时,this相当于一个引用变量,存放的

是对象的引用地址,指向当前对象

在构造器中使用this关键字,调用类中的其他构造器

this语句必须是第一行语句

6.数据隐藏

private 私有的 修饰的成员只在当前类中可见

default

protected

public 公有的 修饰的成员在任意类中可见

目的是保护数据,使数据在其他类中不可见 或使

方法在其他类中不能调用或重写

7.封装

使实现细节不可见

给用户提供统一的接口

提高可维护性,提高编程效率

8.方法的重载 overloading

发生在同一个类中

方法名必须相同

参数列表必须不同

参数类型,个数,顺序

返回类型可以不同

9.构造器

创建对象,给对象中的属性赋值,返回对象的引用

地址

构造器的名字与类名相同

没有返回类型

public 类名([参数列表]){

...

}

每一个类中必须要有构造器

默认构造器即无参,没有代码块的构造器

当类中没有显式的定义任何的构造器时,jvm会在类

中添加一个默认的无参构造器

构造器只能通过new关键字调用

10.创建,初始化对象

1.给对象分配内存空间,使用默认值给对象的属性

赋值

2.如果属性有显式赋值,再重新赋值

3.调用构造器,返回对象的引用地址

11.子类

is

子类 父类

has

Teacher name age id course

use

Teacher System.out.println()

使用extends 关键字定义子类

单继承

12.继承

1.构造器不能被继承

2.属性和方法可以被继承

3.子类的构造器中会隐式的调用父类的无参构

造器

super();

4.当父类中没有默认的无参构造器时,需要在子类

构造器中显式的调用父类的有参构造器,通过super

关键字(必须是第一条语句)

创建子类对象时,一定会调用父类的构造器

父类 子类

Animal Dog

double height String color

String type

Animal() Dog()

Animal(height,type) Dog(color)

eat() w()

sleep()

13.super

指向当前类的父类或父类对象

在子类构造器中,可以使用super关键字调用父类的

构造器,super语句必须是第一行语句

在一个构造器中不能同时使用super和this调用其他

构造器

使用super可以调用父类的变量

14.Object

祖先类

java中所有的类都是Object的直接或间接子类

Object

String toString()

返回当前对象的全类名和引用

com.briup.Teacher@12345678

boolean equals(Object) 与其他对象比较

int hashCode() 返回对象的哈希值

15 方法的重写

1.方法名相同,参数列表相同,返回类型相同

2.方法的可见范围不能缩小

3.方法抛出的异常不能扩大

16.多态

1.多种不同的类型

2.一个对象只有一个类型

3.一个变量可以有多种类型

因为继承所以产生多态,多态是发生在运行时,不

同于方法的重载发生在编译阶段

Shape s = new Circle(10,"circle");

s.draw(s.type);

编译阶段,检查Shape中是否定义了draw(String),

如果没有定义,报编译错误

运行阶段,调用实际指向的对象中的方法

17.instanceof

使用instanceof判断某个对象的类型

引用 instanceof 类型

18.类型转换

使用instanceof 确定类型

子类类型向父类类型转换,是隐式转换

父类类型向子类类型转换,必须显式转换

标签: #java封装继承多态的特点