0
点赞
收藏
分享

微信扫一扫

Java面向对象(二)

驚鴻飛雪 2022-04-29 阅读 63
java

1.2 static关键字

在类中,用static声明的成员变量为静态成员变量。

1.2.1static 变量

Static方法也叫静态变量,通过“对象名.类名” 访问。也可以通过 “类名.变量名” 访问。推荐通过 “类名.变量名” 访问。

静态变量在类被载入时创建,只要类存在,静态变量就存在,不管对象是否被实例化。

1.2.2static方法

Static方法也叫静态方法,静态方法不能访问非静态方法和非静态成员变量,但是非静态成员方法可以访问静态成员方法和成员变量。推荐通过 “类名.变量名” 访问。

  1. 如果想在不创建对象的情况调用某个方法就把这个方法设为static。

1.2.3static

构造方法用于对象的初始化。静态初始化块,用于类的初始化操作。
在静态初始化块中不能直接访问 非static成员。

当类被载入时静态代码块被执行,且被执行一次,静态代码块经常用来进行类的初始化。

作用:提升程序性能

1.3认识封装

1.3.1.封装

  1. 封装是面向对象的基本特征之一。
  2. 封装将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法实现对内部信息的操作和访问。
  3. 封装是面向对像编程语言对客观世界的模拟,客观世界中的属性均被隐藏在对象内部,外界无法直接操作和修改。

1.3.2实现封装

   (1)将不能暴露的成员隐藏起来。例如,student类中的ID不能让其在类的外部直接赋值。实现方法就是将该成员定义为私有。

(2)用公共方法来暴露对该隐藏成员的访问,可以给函数直接加上修饰符public,将该方法定义为公共的。

注意:

  1. 私有成员只能在它定义的类的内部访问,在类的外部不能访问。
  2. 一般情况下,可以将成员变量定义为private的,通过public方法对其进行访问。
  3. 访问控制符级别:public>default>protected()>private。(java文件中只能有一个public类)

1.4使用包

1.4.1

在java中类似于方法的管理类,这就是包(Package)。

 

在类的头文件加上“package 包名;”

注意:

  1. Package必须放在源代码的最前面
  2. 在java中推荐包名名字为小写字母
  3. 用命令运行包中的类  java 包路径.类名

1.5使用继承

1.5.1继承

继承是面向对象的重要特征。

语法:class 子类 extends 父类();

  1. 当类没有明确说父类的时候,object是此类的父类。

1.5.2实现继承

  1. Java不支持多继承(例如:class 子类 exdents 父类1,父类2~{})
  2. 在java中可以多成继承,A继承B,B继承C,C继承D。

1.5.3继承的底层本质

1.子类继承父类之后,实例化子类对象,系统首先会实例化父类对象。

2.在构造子类对象时,父类的构造方法,一定会先被执行。

3.如果子类没有用super()调用父类的构造方法,则父类中的无参数构造方法会被自动调用。

4.在子类的构造方法中,super(),必须写在第一行,传入的参数必须和父类的构造函数中的参数列表匹配。

1.6方法重写(override)

语法结构:子类中成员方法和父类中的成员方法的名称,参数列表,返回类型相同。

注意:

  1. 方法的重写(override)和重载(overload)是不一样的
  2. 重写的方法的名称,参数列表,返回类型必须相同
  3. 子类重写的方法的访问权限不能比父类的更加严格

1.7使用多肽

1.函数传入的形参可以是父类类型,而实际传入的可以是子类对象

2.函数的返回类型是父类类型,而实际返回的可以是子类对象

1.7.1父类和子类对象的类型转换

  1. 子类类型对象转换成父类类型:

Dialog dialog =new FontDialog;

  1. 父类类型对象转换成子类类型:

Dialog dialog =new FontDialog;

FontDialog fd=(FontDialog)dialog;

1.8抽象类和接口

1.8.1抽象类

用abstract修饰。

注意:

  1. 抽象类不能把实例化。
  2. 抽象函数必须被重写,除非子类也是抽象类
  3. 在抽象类中可以含有普通成员函数

1.8.2接口(interface)

Java中单继承,多接口。

语法:class 子类 extends implements 接口1,接口2…{}

1.9final关键字

1.用final修饰一个类,该类不能继承

2.用final修饰一个函数,该类在被子类继承的情况下,show函数不能被重新

3.用final修饰一个成员变量,该变量不允许被改变

举报

相关推荐

0 条评论