面向对象编程

一、四大特征

1)     抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。

2)     继承:继承是从已有类得到继承信息创建新类的过程。被继承的类叫父类,继承的类叫子类,子类继承父类大部分的属性、方法,private方法除外,子类可以扩大父类的访问权限,缩小不行。

3)     封装:把对数据的操作封装成一个方法或一个类。

4)     多态:多态是指允许不同子类型的对象对同一消息作出不同的响应。有参数的多态,返回类型的多态。

二、方法重载、方法重写

方法重载

1、方法名相同

2、方法的参数类型,个数,顺序至少有一项不同

3、只是返回类型不一样,不能够构成重载,只是控制访问修饰符一样,也不能构成重载

方法覆盖

1、就是子类有一个方法,和父类的某个方法的名称,返回类型,参数都一样,那么我们就说子类的这个方法覆盖了父类的那个方法

2、子类方法不能缩小父类的访问权限,扩大可以

三、抽象类与接口

抽象类和接口的区别有哪些?

  1. 抽象类中可以没有抽象方法;接口中的方法必须是抽象方法;
  2. 抽象类中可以有普通的成员变量;接口中的变量必须是 static final 类型的,必须被初始化 , 接口中只有常量,没有变量。
  3. 抽象类只能单继承,接口可以继承多个父接口;
  4. Java8 中接口中会有 default 方法,即方法可以被实现。

相同:

1、接口,抽象类都不可实例化

2、继承或实现后都必须实现所有方法

抽象类和接口如何选择?

  1. 如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而不是抽象类。
  2. 如果知道某个类应该是基类,那么第一个选择的应该是让它成为一个接口,只有在必须要有方法定义和成员变量的时候,才应该选择抽象类。因为抽象类中允许存在一个或多个被具体实现的方法,只要方法没有被全部实现该类就仍是抽象类。

四、static、final、实例变量

类变量与实例变量的区别:

1、加上static称为类变量或静态变量,否则称为实例变量

2、类变量是公共的属性,实例变量是对对象个体的属性

3、类变量通过类名.类变量名或对象名.类变量名访问

4、Java中规则,静态变量原则上用静态方法去访问(用同样的static)

final:

1、修饰类,表明该类不可继承

2、修饰方法,表明该方法不可重写

3、修饰变量,表明该变量为常量

五、构造方法和this

构造方法:

1、 方法名和类名相同

2、 没有返回值

3、 可以有很多个,必须要有一个

4、 构造方法不能被继承

this:

1、this只能在类定义里运用,

2、谁调用this,this就是谁;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值