面向对象概述5


目录


  • 方法参数类型以及返回值类型问题研究
  • 权限修饰符
  • 匿名内部类

1、方法参数类型以及返回值类型问题研究


  • 如果你以后看到一个方法的形参要一个类类型,你就传一个该类的对象
  • 如果你以后看到一个方法的形参要一个抽象类类型,你就传一个该类的子类对象
  • 如果你以后看到一个方法的形参要一个接口类型,你就传一个该接口的子类对象
  • 如果你以后看到一个方法的返回值类型要一个类类型,你就返该类的一个对象
  • 如果你以后看到一个方法的返回值类型要一个抽象类类型,你就返回一个该抽象类的子类对象
  • 如果你以后看到一个方法的返回值类型要一个接口类型,你就返回一个该接口的子类对象

2、链式编程


  • 当你调用完一个方法后,这个方法的返回值是一个对象,那么你就可以紧接着打点.再去调用这个对象的方法

3、package关键字的概述及作用


  • 包的概述:就是文件夹

  • 包的作用:用来解决同一个路径下不能存在同名文件的问题(分类管理)

  • 包的划分:按照功能、按照模块

  • 定义包的格式:

    ​ package 包名;

  • 定义包的注意事项:

    ​ A:package语句必须是程序的第一条可执行的代码

    ​ B:package语句在一个Java文件中只能有一个

    ​ C:如果没有package,默认表示无包名


4、import关键字的概述和使用


  • 导包的概述

    ​ 不同包下的类之间的访问,我们发现,每次使用不同包下类的时候,都需要加包的全路径。比较麻烦,这个时候,Java就提供了导包的功能。

  • 导包格式

    ​ import 包名;注意这种方式导入是到类的名称


5、四种权限修饰符


​ 本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)

private Y

默认的 Y Y

protected Y Y Y

public Y Y Y Y


6、内部类概述和访问特点


  • 内部类概述

    ​ 把类A定义到类B中,那么类A就称为内部类,类B称作外部类

  • 内部类访问特点

    ​ 内部类可以直接访问外部类的成员,包括私有的成员

    ​ 外部类要访问内部类的成员,必须创建内部类的对象


7、内部类分类及成员内部类的直接使用


  • 按照内部类的位置分类

    ​ 成员位置:在成员位置定义的类,被称为成员内部类。类中方法外

    ​ 局部位置:在局部位置定义的类,被称为局部内部类。方法中

  • 外界直接访问成员内部类的成员

    ​ 外部类名.内部类名 对象名= 外部类对象.内部类对象

    ​ 例如:Outer.Inner inner=new Outer().new Inner();


8、成员内部类的常见修饰符及应用


  • 成员内部类的修饰符

    ​ A:private 为了保证数据的安全性,内部类可以使用private修饰,一旦内部类私有之后,外界就不能直接创建内部类的对象了,外部类可以。

    ​ B:static 可以修饰内部类,为了方便访问数据。

    ​ 注意:静态内部类访问的外部类数据必须用静态修饰,静态内部类只能访问外部类静态所修饰的数据

    ​ 成员方法可以是静态的也可以是非静态的

  • 成员内部类被静态修饰后的访问方式:

    ​ 外部类名.内部类名 对象名 = new 外部类名.内部类名();


9、局部内部类访问局部变量的问题


  • 可以直接访问外部类的成员

  • 在局部内部类里面要访问外部类的局部变量,那么这个局部变量要加上final让他成为一个常量,原因如下:

    ​ 因为局部变量会随着方法的调用完毕而消失,这个时候,局部对象并没有立马从堆内存中消失,还要使用那个变量。为了让数据还能继续被使用,就用final修饰,这样,在堆内存里面存储的其实是一个常量值。JDK1.8之后,final会默认加上,你不用手动去加,但是你要知道。


10、匿名内部类的格式和理解


  • 匿名内部类:就是局部内部类的简化写法。

  • 前提:存在一个类或者接口;这里的类可以是具体类也可以是抽象类

  • 格式:new 类名或者接口名(){

      			重写方法;
    

    ​ };

  • 匿名内部类的本质是什么呢?

    ​ 是一个继承了该类或者实现了该接口的子类匿名对象。本质是一个对象,不是类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值