一、类和对象
new 关键字
new 类名();
引用类型变量
除了用八大基本数据类型定义的变量之外,用数组,类,接口来声明的变量都是引用类型变量,指向对象的地址.通过引用类型来对操作对象
案例
第01步:创建电影票类
测试
二、方法的重载和构造方法
发生在一个类里,要求方法名相同,参数列表不同(参数的类型,个数,顺序),程序在运行的时候编译器会自动根据传入的参数来调用相应的构造方法。
案例
构造方法是在实例化对象的时候所调用的一个特殊方法,用来在实例化对象的时候初始化成员变量。
this关键字用在方法体中,用于指向调用该方法的当前对象,简单的来说,就是那个对象调用方法,this就指向哪个对象,用运算符"."来表示对象的属性,可以理解为对象的。
构造方法也可以重载,要求方法名相同,参数列表不同,每个类中都有一个默认的空的无参构造,但是如果想要自己决定实例化那个成员变量就可以自己定义带参的构造方法 来初始化成员变量,在程序运行的时候编译器会根据传入的参数来自动调用相应的构造方法。
案例
三、封装和访问控制
在硬盘上包是存储多个类文件的文件夹,在程序里是一个名称空间,用来组织多个类文件,避免类名冲突。
在Java中有两个非常严格的规定
包名也有层次结构,在一个包中可以包含另一个包,为了从根本上解决命名冲突的问题,在指定包名的时候应该按照一定的规范.如果要定义多层包名,可以使用下列语法:
package 公司或组织名称.项目名.功能模块名
import
import 类的全局限定名(包名+类名)
通过import声明了类的全称后,在源文件中就可以直接使用类名进行访问.
封装是面向对象的重要原则,是指把对象的属性和行为结合成一个独立的整体,并尽可能的隐藏内部实现的细节
在Java中实现封装的步骤.
封装的意义
案例
四、继承的意义
在Java中用extends关键字来表示继承,子类可以继承父类的属性和方法,还可以有自己特有的属性和方法。
使用继承可以实现代码的复用
案例
构造方法无法继承,在Java中规定子类在构造之前必须先构造父类。事实上,子类的构造方法中是必须要通过super关键字来调用父类的构造方法。
案例
五、方法的重写
重写发生在父子类关系中,必须要以继承为基础,子类可以对继承过来的父类方法进行重写,要求方法名和参数列表一样,方法实现不同。
当子类的重写方法被调用时看对象,无论是用父类的引用还是子类的引用,最终运行的都是子类重写后的方法。
当需要在子类中调用父类的被重写方法时,需要用到super关键字
案例
重载:发生在一个类里,要求方法名相同,参数列表不同,和方法的返回值类型还有修饰符没有关系。
重写:发生在父子类关系里,必须是以继承为基础,如果不能继承这个类,则不能重写类中的方法。
两同
重写的方法方法名必须和被重写方法一致
重写的方法参数列表必须保持一致
两小
重写的方法返回值类型必须小于或者等于被重写方法
void 时和父类一致
基本数据类型时和父类一致
引用类型时小于父类
重写的方法抛出的异常要小于或等于被重写的方法
一大
案例
六、static和final
静态的,在Java中所有和静态相关的,都用static来修饰,表示全局的,属于类,存在于方法区中,可以直接通过类名调用。
static修饰成员变量
static修饰方法
static修饰代码块
final最终的
用final修饰的类不允许被继承
用final修饰的方法不允许被重写
用final修饰的变量不允许被修改
案例
欢迎👏点赞+关注,笔芯❤️

标签: