面向对象程序(OOP)——java学习笔记

类与对象

  1. 主类的创建:含main方法的类,一般只创建一个,用于集成
  2. 次类的创建:不含main方法的类,一般有多个,用于实现某一功能的模板
  3. 对象的创建:次类名 对象名 = new 次类名(); //默认对象名为次类名首字母小写,可以创建多个对象,用于实例
  4. 对象属性的调用:对象名.属性名

构造器

用来初始化对象的值。//使用new关键字,本质是在调用构造器

  1. 无参构造器:public 次类名(){}//若次类未创建任何构造器,则隐含创建一个无参构造器
  2. 有参构造器:public 次类名(参数列表){this.参数1 = 初始值1; this.参数2 = 初始值2; this.参数3 = 初始值3; }//必须先创建无参构造器

封装

高内聚,低耦合。

  1. 提高程序安全性,保护数据;
  2. 隐藏代码的实现细节,便于交互;
  3. 同一接口;
  4. 增加系统的可维护性;

封装属性

private 数据类型 属性名; //次类属性私有

get方法和set方法

public 返回值类型 方法名(){return this.属性名;}//方法名格式:get属性名(驼峰原则)。方法体可扩充

public void 方法名(参数列表){this.属性名 = 参数名;}//方法名格式:set属性名(驼峰原则)。方法体可扩充,如选择结构

继承

子类拥有父类的全部public属性和方法,可直接使用,父类不能调用子类的属性和方法

头部:子类 extends 父类名{

默认继承:所有类默认继承Object类

调用同名属性或方法

调用当前类的:this.

调用父类的:super.

调用构造器

调用当前类的:this()

调用父类的:super() //运行子类的无参构造器,默认增加先调用父类的无参构造器,调用父类有参构造器也必须放在子类的构造方法前。super()和this()不能同时存在。

重写方法

一般当父类的方法不满足子类或不需要时,重写父类的方法

父类名 父类对象 = new 子类名();

注意点

  1. 必须为子类重写父类的非static方法,且方法名、参数列表必须相同。
  2. 静态方法无法重写,调用时仍执行父类的方法。
  3. 修饰符范围必须相等或扩大:public>Protected>Default>private
  4. 抛出的异常必须相等或缩小

多态

父类名 父类对象 = new 子类名(); //创建型式和重写方法一样,重写是多态的一种。这里的父类对象是一个引用,指向子类(真实内存)

存在继承关系,对象的方法调用默认调用自己的或父类的,但满足重写条件时,优先执行重写。

类型转换

instanceof表达式

对象名 instanceof 类名:当对象名(引用)的指向类和类名的类存在继承关系值为true,不存在继承关系值为false(无法转换)。

自动转换

父类名 父类对象 = 子类对象;

强制转换

(子类名) 子类对象 = 父类对象;

static关键字

static{静态代码块}:优先且仅执行一次,和类一起加载

{匿名代码块}:执行顺序在静态代码块之后

构造器:执行顺序在匿名代码块之后

抽象类

特殊的父类,不能用new来创建实例对象,只能作为模板被子类继承。

public abstract class 抽象类名{声明变量;一般方法;abstract 返回值类型 抽象方法名(参数列表);}//抽象类的子类必须实现抽象方法或把自己创建为抽象类

接口

接口不是类,故不存在构造器,可以理解为抽象类的抽象

接口的创建

public interface 接口名 extends 父接口列表 {

public abstract 返回值类型 抽象方法名(参数列表);

public static 返回值类型 静态方法名(参数列表){}

public default 返回值类型 默认方法名(参数列表) {} }//删除线部分表示可以省略,接口内容默认public类型。

接口的实现

public class 类名 implements 接口列表{重写方法//必须显式使用public**; 自定义方法}**

内部类

java允许类的内部创建类,一般不推荐

  1. 成员内部类:类里第一层创建的动态类。作用:获取外部类的私有属性。
  2. 静态内部类:类里第一层创建的静态类。不能获取外部类的私有属性。
  3. 局部内部类:方法里创建类。
  4. 匿名内部类:new一个并列的类或当前类(没有被指向一个引用);new一个并列接口(没有被指向一个引用),并重写方法。隐藏返回一个匿名类。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值