欢迎光临散文网 会员登陆 & 注册

150天打卡day15_案例分析串讲

2021-04-23 17:00 作者:关阿姨的Java日记  | 我要投稿

一、类和对象

  • 类的定义

    • 类是一个抽象的逻辑概念,用来描述同一类型所共同拥有的静态特征和动态行为

    • 成员变量:用来描述对象的静态特征

    • 方法:用来描述对象的行为,封装对象的功能

  • 创建一个对象

new 关键字

new 类名();

  • 引用类型变量

    • 除了用八大基本数据类型定义的变量之外,用数组,类,接口来声明的变量都是引用类型变量,指向对象的地址.通过引用类型来对操作对象

案例

第01步:创建电影票类

 

测试

二、方法的重载和构造方法

  • 方法的重载

  • 定义

发生在一个类里,要求方法名相同,参数列表不同(参数的类型,个数,顺序),程序在运行的时候编译器会自动根据传入的参数来调用相应的构造方法。

  • 适用场景:

    • 对同一个问题,有不同的解决办法的时候就可以使用方法的重载

    • 例如:付款

 

案例

  • 构造方法

  • 定义

构造方法是在实例化对象的时候所调用的一个特殊方法,用来在实例化对象的时候初始化成员变量。

  • 语法

    • 构造方法不允许有返回值

    • 构造方法名和类名一致

  • this关键字

this关键字用在方法体中,用于指向调用该方法的当前对象,简单的来说,就是那个对象调用方法,this就指向哪个对象,用运算符"."来表示对象的属性,可以理解为对象的。

  • 构造方法的重载

构造方法也可以重载,要求方法名相同,参数列表不同,每个类中都有一个默认的空的无参构造,但是如果想要自己决定实例化那个成员变量就可以自己定义带参的构造方法 来初始化成员变量,在程序运行的时候编译器会根据传入的参数来自动调用相应的构造方法。

案例

三、封装和访问控制

  • package

在硬盘上包是存储多个类文件的文件夹,在程序里是一个名称空间,用来组织多个类文件,避免类名冲突。

在Java中有两个非常严格的规定

  • 任何的.class文件,都必须保存在自己指定的包名文件下

  • 在同一个包中不允许有两个同名的类

包名也有层次结构,在一个包中可以包含另一个包,为了从根本上解决命名冲突的问题,在指定包名的时候应该按照一定的规范.如果要定义多层包名,可以使用下列语法:

package 公司或组织名称.项目名.功能模块名

import

import 类的全局限定名(包名+类名)

通过import声明了类的全称后,在源文件中就可以直接使用类名进行访问.

 

  • 封装的意义

封装是面向对象的重要原则,是指把对象的属性和行为结合成一个独立的整体,并尽可能的隐藏内部实现的细节

在Java中实现封装的步骤.

  • 数据私有化,用private修饰符实现

  • 方法公开化,用get()set()方法对属性进行赋值,取值工作

封装的意义

  • 实现对数据的封装

  • 隐藏内部实现的细节

案例

四、继承的意义

  • extends

在Java中用extends关键字来表示继承,子类可以继承父类的属性和方法,还可以有自己特有的属性和方法。

使用继承可以实现代码的复用

  • 继承的特性

    • 单根性

    • 传递性

案例


  • super

构造方法无法继承,在Java中规定子类在构造之前必须先构造父类。事实上,子类的构造方法中是必须要通过super关键字来调用父类的构造方法。

 

案例

五、方法的重写

  • 重写的定义

重写发生在父子类关系中,必须要以继承为基础,子类可以对继承过来的父类方法进行重写,要求方法名和参数列表一样,方法实现不同。

当子类的重写方法被调用时看对象,无论是用父类的引用还是子类的引用,最终运行的都是子类重写后的方法。

  • 重写中使用super关键字

当需要在子类中调用父类的被重写方法时,需要用到super关键字

 

案例


  • 重载和重写的区别

重载:发生在一个类里,要求方法名相同,参数列表不同,和方法的返回值类型还有修饰符没有关系。

重写:发生在父子类关系里,必须是以继承为基础,如果不能继承这个类,则不能重写类中的方法。

两同

  • 重写的方法方法名必须和被重写方法一致

  • 重写的方法参数列表必须保持一致

两小

  • 重写的方法返回值类型必须小于或者等于被重写方法

    • void 时和父类一致

    • 基本数据类型时和父类一致

    • 引用类型时小于父类

  • 重写的方法抛出的异常要小于或等于被重写的方法

一大

  • 重写的方法修饰符只能大于被重写的方法的修饰符

案例

六、static和final

  • static

静态的,在Java中所有和静态相关的,都用static来修饰,表示全局的,属于类,存在于方法区中,可以直接通过类名调用。

static修饰成员变量

static修饰方法

static修饰代码块

  • final

final最终的

用final修饰的类不允许被继承

用final修饰的方法不允许被重写

用final修饰的变量不允许被修改

 

案例

 

欢迎👏点赞+关注,笔芯❤️

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


150天打卡day15_案例分析串讲的评论 (共 条)

分享到微博请遵守国家法律