JavaSE面向对象知识点总结

一、面向过程和面向对象编程思想

面向过程编程

Procedure Oriented Programming 简称为POP

是一种基本的编程思想,是将一件事情按流程逐步实现。这种思想强调事情完成的过程,分析步骤写出相应的代码。
如猜拳游戏,每一个步骤都能按顺序用代码描述出来,逻辑清晰。

但如果逻辑复杂,如象棋游戏,则无法使用POP的思想实现。

C语言就是一门标志性的面向过程编程语言。
基础部分写的所有代码,都是面向过程的,都是一步步按序执行。


面向对象编程

Object Oriented Programming 简称OOP

是当前主流的编程思想,将解决问题的所有参与对象创建出来,赋予对象对应的行为和属性让这些对象互相配合完成,实现最终效果。

这种思想致力于将计算机中的世界,描述的和现实中一致


面向对象和面向过程:不同思想处理同一种问题


如洗衣服。

如果用POP:得到衣服、得到搓衣板、得到洗衣服、得到水、搓洗。。。

如果用OOP:创建一个能洗衣服的工具:洗衣机,让洗衣机拥有洗衣服的行为,调用该行为即可。

如组装电脑。

POP:列举所有配件,自己去商场购买,自己带回家,自己组装。

OOP:让伯伯推荐配件,让弟弟去商场购买,让快递送回家,让邻居组装。

总结

面向过程:亲力亲为,侧重于分析过程。

面向对象:所有事情交给相应的对象完成,侧重于如何创建对象。
 

二、类和对象

类Class

具有相同的属性和行为的对象的集合,称为"一类"。类也可以称为模板。

属性:描述对象的特征,在程序中,通过定义变量的形式表现属性。

行为:描述对象的动作,在程序中,通过定义方法的形式表现行为。

在程序中,通过定义一个class去定义一个类。在类中定义变量描述属性,定义方法描述行为。

对象Object

对象是类的一个具体实例,是类的具体表现。


定义类和对象

类的创建写法:
[修饰符] class 类名(){
    //属性,定义变量
    //行为,定义方法
}

创建对象:
类名 对象名 = new 构造方法(参数);

类中属性的访问:
对象名.属性;

类中方法的调用:
对象名.方法名();

三、构造方法

是一种特殊的方法,方法名和类名一致,没有返回值部分

[访问修饰符] 类名(){

}

四、面向对象的三大特性

封装

使用private关键字对属性进行修饰,可以防止除自身类之外的地方对该属性进行访问。这样可以保护关键属性,隐藏类内部的实现细节,再对外提供一组公开的get/set方法用于对该属性的赋值和读取
 

继承

 1.继承(extends):子类继承父类的属性和行为。子类中也可以重写父类中的方法,从而达到更新的目的。

定义格式:
class 父类{
}

class 子类 extends 父类{
//@Override
}

2.继承(implements):类与接口的关系为实现关系,即类实现接口,该类可以称为接口的实现类,也可以称为接口的子类。实现的动作类似继承,格式相仿,只是关键字不同,实现使用 implements 关键字。
​​​

接口:
public interface animal{
  public abstract eat();
  public abstract sleep();}
​​​​​​​
实现类:
public class dog implements animal{
  public void eat(){
  System.out.prinln("嘿嘿");
  }
  public void sleep(){
  System.out.println("哈哈");
}

多态

必须在继承关系中
子类的对象保存在父类的变量中(也称为向上转型)
子类通常会重写父类的方法

总结

在需要父类对象时,将子类对象当做父类对象使用。
这时父类对象调用的是子类重写后的方法,不能调用子类中父类没有的方法。
 

五、关键字

1.final关键字:final关键字主要用在三个地方:变量、方法、类。对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。

2.this关键字:this关键字用于引用类的当前实例。

3.static关键字:修饰成员变量或成员方法。静态代码块,静态内部类

4.super关键字:super关键字用于从子类访问父类的变量和方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值