Day02面向对象

面向对象的三大特性:封装、继承、多态

访问修饰符:public、protected、默认、private

public:公共访问权限

protected:子类和同一包中访问权限

默认:同一包访问权限

private:当前类访问权限

封装:

private关键字将属性和方法封装起来,方便调用

继承:

通过extends关键字子类继承父类的所有属性和方法,通过【super.属性名/方法名】调用父类的属性和方法,通过【super(形参列表)】调用父类中对应参数的构造器,继承只能单继承,可以通过传递继承的方式实现“多继承”。

super和this关键字一样,调用时只能放在第一行,且super()只能在构造方法中调用

多态

向上转型,自动转换,子类特有的属性和方法丢失,(重写的方法除外)

向下强转,类型还原,子类特性也还原

A instanceof B

通过instanceof关键字判断A是否属于B的类型或B的实例,返回的结果为boolean型

抽象类与接口的区别:

1:抽象类使用class定义,接口使用interface定义

2:抽象类里可以包含实体方法,接口里只能有抽象方法

3:抽象类里可以有构造方法和初始化块,接口不能有

4:接口里可以有多个直接的父接口,但抽象类只能有一个直接父类

接口:

接口里的属性:默认修饰符public,static,final修饰,不管写不写,都有

接口里的方法:默认修饰符public,abstract

接口里的内部类,内部接口、枚举,默认修饰符:public,static,写不写都有。

时间: 2024-10-09 21:18:03

Day02面向对象的相关文章

Java学习日记------面向对象②

2018-03-01 1.创建Java类并实例化 package day02; /* * 面向对象思想的落地法则一: * 1.设计类,并设计类的成员(成员变量和·成员方法) * 2.通过类,来创造类的对象(也成为类的实例化) * 3.通过"对象.属性"或"对象.方法"来调用. */ public class zoo { public static void main(String[] args) { //基本数据类型的声明:数据类型 变量名=初始化值 //int i

面向对象 day02

1. 空对象``` var o = null; // 空对象, 存特点是只有变量 o 没有对象数据``` # 值类型与引用类型的存储特征1. 内存逻辑结构( 画图 )2. 赋值``` var num = 123; var num2 = num;``` * 值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量. * `var num = 123` 表示变量中存储的数字是 123. * 然后将数据拷贝一份,就是将 123 拷贝一份. 那么内存中有 2 个 数组 * 将拷贝数据赋值给

黑马程序员-面向对象-Object类

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>.<a href="http://edu.csdn.net"target="blank">.Net培训</a>.期待与您交流! ---------------------- 一.Object类中的equals(

Java之面向对象详细总结

学习面向对象已经整整一周了,面向对象的三大特性继承.封装.多态的基本概念及应用场景,案例示例都已详细学习了,几天称着周末和刚讲完,在此对Java中比较抽象的面向对象做个小的总结,加强一下记忆与理解: 1.面向对象三大特征: 1)封装: 1.1)类:封装的对象的数据和行为 1.2)方法:封装的是具体的业务实现细节 1.3)访问控制修饰符:封装的是访问的权限--保护数据 2)继承: 2.1)目的:代码的重用 2.2)父类:共有的  子类:特有的 继承后子类具有:父类的和子类的 2.3)单一继承,传递

黑马程序猿-面向对象-多态

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>.<a href="http://edu.csdn.net"target="blank">.Net培训</a>.期待与您交流! ---------------------- 一多态的前提:(1)要有继承关系(或

黑马程序员-面向对象-多态

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>.<a href="http://edu.csdn.net"target="blank">.Net培训</a>.期待与您交流! ---------------------- 一多态的前提:(1)要有继承关系(或

Python基础-day02

写在前面 上课第二天,打卡: 大人不华,君子务实. 一.进制相关 - 进制基础 数据存储在磁盘上或者内存中,都是以0.1形式存在的:即是以 二进制 的形式存在: 为了存储和展示,人们陆续扩展了数据的表示形式:八进制 -> 十进制 -> 十六进制... 二进制:0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 ... 八进制:0 1 2 3 4 5 6 7 10 11 12 13 14 15

python学习 面向对象封装

from collectoins import namedtuplePoint=namedtuple('point',['x','y'])t1=Point(1,2)print(t1.x)print(t1.y)没有方法的类属性不会发生变化    定义简单 不能改变面向对象封装私有属性!!!私有方法!!!用装饰器描述的几个方法@property !!!@classmethod!!@staticmethod! 封装:class Teacher:     def __init__(self,name,p

python—面向对象的封装

封装 私有属性 class Teacher: __identifier = 'Teacher' #私有静态属性 def __init__(self,name,pwd) self.name = name self.__pwd = pwd #私有属性 内部使用,外部不能使用 def pwd(self): print(self.__pwd) alex = Teacher('alex','3714') alex.pwd() class Teacher: __identifier = 'Teacher'