什么是面向对象

目录

一,包

1,类的全路径:包名.类名;

2,导入类

3,静态导入

4,包访问权限

二,三大特性

一,封装

二,继承

一,继承的原则:

二,显示继承:

三,隐式继承:

四,继承访问权限:protect

五,this关键字:

六,super关键字:

七,要产生子类对象,默认先产生父类对象,先有父类才有子类

八,阿里校招笔试题:请问代码的输出顺序为啥。

 九,类与类之间存在组合关系:has a 的关系,及接口的实现关系

三,多态

一,多态的概念:一个引用可以表现出多种行为/特性

向上转型:

向下转型:

 规避向下转型的异常:instanceof关键字

二,方法的重写


一,包

1,类的全路径:包名.类名;

2,导入类

:import + 类的全路径; 如果需要导入一个包中的所有的类,import +包的全路径.*;(这种方法存在歧义,一般不推荐)

3,静态导入

import static 可以导入包中的静态方法和静态属性

4,包访问权限

默认访问权限default就为包访问权限,只在当前包中可见子包中的类也不可见

二,三大特性

一,封装

使用private将方法和属性进行封装。具有保护性和易用性(通过程序对外提供的方法案例访问类中的属性)

什么是方法重载:在同一个类中,定义了若干个方法名相同参数类型和个数不同的,与方法的返回值无关的一组方法叫做方法的重载。

二,继承

当类与类之间存在 is a 的关系时,那么他们之间天然存在继承关系。

当类A继承了另一个类B,类B的所有的属性和方法类A天然具备。A extends B : 使用extends实现A继承B。

一,继承的原则:

1,满足类鱼类之间是  is a 的关系

2,java只能单继承,只能继承一个父类,但是可以多层继承

3,子类会继承父类所有的属性和方法,显示继承(public修饰的属性和方法)隐式继承(private修饰的属性和方法),隐式继承也继承了所有的方法和属性,但无法直接使用。

二,显示继承:

三,隐式继承:

父类中被private修饰的属性,其实已经被子类继承,但是子类无法直接使用,必须通过父类的settor修改器和getter访问器来访问父类的属性,这种继承被称为隐式继承。

四,继承访问权限:protect

1,在不同包中的子类是可见的。

2,在不同包中的不具备继承关系的两个类之间,被protect修饰的属性,无法访问

3,protect修饰的属性,只在父类和子类还有同一父类在同一个包中的类可见。其余都不可见。在不同包中的不具备继承关系类中创建的子类对象调用父类的protect属性,依旧不可见

五,this关键字:

修饰属性:表示从当前类中找同名的属性

        当有继承关系时,this关键字遵循就近原则,先从本类中找,找不到去父类中找,存在多重继承时,会一直向上寻找,知道找到该属性

修饰方法:表示从当前类中寻找方法

修饰对象:表示当前对象的引用

六,super关键字:

修饰属性:直接从父类中寻找同名属性

super关键字在多重继承中,如果直接父类中没有该属性,会向上寻找到最终父类。

修饰方法:

super修饰构造方法:

1,只要存在继承关系,所有父类对象优先于子类对象产生,多重继承时会产生所有父类的对象。

2,子类的构造方法默认调用父类的无参构造。如果父类不存在无参构造则需要在子类构造方法中的首行,自己添加父类的构造方法:super(参数个数看情况而定);

3,无法在一个构造方法中同时使用   this(); super();因为他们必须都放在首行

super修饰普通方法:

1,super修饰普通方法就近原则

2,super不能表示当前对象分类的直接引用,this表示当前对象的直接引用。

七,要产生子类对象,默认先产生父类对象,先有父类才有子类

final:

修饰属性表示常量,无法修改

修饰类表示此类无法被继承

修饰方法,表示此方法不能被重写,

八,阿里校招笔试题:请问代码的输出顺序为啥。

 

 九,类与类之间存在组合关系:has a 的关系,及接口的实现关系

三,多态

一,多态的概念:一个引用可以表现出多种行为/特性

多态(polymorphism)来源于希腊文字,意思是多种形式,简单来说就是父类变量可以引用子类对象。

向上转型:

向上转型最大的好处在于:参数统一化,减少冗余代码,即在父类中定义一个方法,其他子类直接继承使用。

最常见的多态:父类引用指向子类对象

向下转型:

父类的引用强制转换成子类的引用。

 规避向下转型的异常:instanceof关键字

instanceof关键字用来判断当前对象是否是相同该类产生的对象

语法: 对象名  instanceof   类名

二,方法的重写

发生在继承关系之间,除了权限修饰符不同方法名,参数列表,返回值相同的方法,这样的一组方法被称为方法重写。

发生重写时:子类重写方法的权限 >= 父类方法权限

如果子类没有重写父类方法,就会就近调用父类的方法。

方法重写发生在普通方法,静态与对象无关,与类有关

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值