22.3.26Java基础

Java需要记住的,记不住就别学了

[不行就打印去(修打印机)]

1.方法重载

  • 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。(可是不知道有什么用22.3.25记)(3.26是有用的肯定)

  •  

2.构造器必须掌握(为啥还不会?快捷键Alt+insert)

  • 构造器也称构造方法,是在进行对象创建时必须调用的。

  • 构造器有以下两个特点:

    • 必须和类名相同

    • 必须没有返回类型,也不能写void

  • 一个类即使什么都不写,也会存在一个方法(即和类名相同的构造方法[构造器])

  • 当然,也可以显示构造(自己写出来,但是一旦定义了有参构造,必须手动定义无参构造)

  • 构造器作用:

    • 初始化值

3.创建对象内存分析

image-20220325151932409

分析一波:

  • 栈相当于目录,堆相当于内容

 

4.封装

4.1属性私有作用/目的

举个例子:银行卡中钱的数量为一个属性,必须将这个属性私有,你只能有get权限,而不能有set权限,这些方法只能私有情况下才能实现,public可想而知。

反正有时就是私有好!!

4.2封装作用

  • 提高代码可维护性,保护数据

  • 隐藏代码的实现细节

  • 统一接口

 

5.继承

子类通过super访问父类的属性

父类私有的属性和方法,子类无法继承(用super也无法继承)

super注意点

  • 1.super调用父类的构造方法,必须在构造方法的第一个

  • super必须只能出现在子类的方法或者构造方法中

  • super和this不能同时调用构造方法

6.重写(Override)【Alt+insert】

重写 只会重写非静态方法而且必须存在继承关系时,才会有重写

  • 静态方法:定义的什么类就调用什么类的静态方法,换句话讲,就是,方法的调用只和左边,定义的数据类型有关,和右边没有关系(new A())。

  • 非静态方法:重写!

  • 重写:需要有继承关系,子类重写父类的方法

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大,但是不能缩小

4.抛出的异常:范围可以缩小,不能扩大

重写:方法名相同,方法体不同!

  • 为什么需要重写:

    1.父类的功能,子类不一定满足,或者不一定需要

 

7. 多态

注意事项:

  • 多态是方法的多态,属性没有多态

  • 父类和子类,有联系

  • 存在关系:继承关系,方法需要重写,父类引用指向子类对象

不能重写的:

  • static 方法,属于类,它不属于实例

  • final 常量

  • private方法(私有方法都不能继承,更别谈重写了)

    image-20220325163416206

 

8.instanceof 和类型转换

  • 父类转换为子类,向下转型。强制转换。

  • 子类转换为父类,向上转型。

  • 作用:方便方法的调用,减少重复的代码!简洁

     

9.static

image-20220326093648321

见图知意

 

静态导入包

image-20220326093905432

10.抽象类

  • 抽象类的所有方法,继承了它的子类,都必须要实现它,除非这个子类也是abstract

 

注意:这个抽象类和接口不同,抽象类还是一个类!类的继承只能单继承,不能多继承!(但是接口可以实现多继承)

 

  • 不能new这个抽象类,只能靠子类去实现它,可以理解为一种约束。

  • 抽象类中可以写普通方法,但是抽象方法只能在抽象类中。

 

11.接口

image-20220326100146508

接口中所定义的其实都是抽象类,public abstract

接口都需要有实现类

 

image-20220326100506369实现了接口的类,就需要重写接口中的方法

此处注意命名方法,UserserviceImpl

侧面实现多继承(Implements)

接口不能被实例化,因为没有构造方法!嘿嘿

posted @   xzw1  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示