华清远见重庆中心-JAVA面向对象阶段总结/知识点梳理/个人总结/关于JAVA技术的解析

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

面向过程 POP :所有步骤依次执行,注重执行的细节。
面向对象 OOP :创建解决问题的对象,让各个对象调用各自的方法而配合完成。
在面向对象编程 OOP 中,给类中定义的方法,具体的实现过程,其实也是面向过程的。

对象和类

对象Object

某个类的具体实例

Class

是拥有相同属性和行为的对象的集合。是类的模板。

定义类

创建对象

成员变量、局部变量、静态常量

成员变量:定义在类中的变量,即类的属性。它有默认值。通过对象访问。
局部变量:定义在方法中的变量。它没有默认值。只能在方法中赋值后才能使用。
静态常量:特殊的成员变量,用 final static 修饰。它有默认值。通过类名访问。
修饰符    class    类名 {
int a;//成员变量
final static String   COUNTRY = "好兄弟" ;//静态变量
   void hh(){  //定义方法
    int c=1;    //局部变量 放在方法内
     }
}

构造方法

是一种特殊的方法。方法名和类名一致,没有返回值部分。
访问修饰符 类名() {
}
1.没有返回值部分,方法名必须和类名一致。
2.在使用 new 关键字创建对象时,调用对应的构造方法。
3.每个类在定义后,都隐藏有一个无参的构造方法。
4.如果自定义了有参数的构造方法,无参数的构造方法就会失效。如果想要使用无参构造方法,就要再写出来。
5.构造方法通常用于限制创建对象时携带的参数,初始化成员变量。
6.构造方法之间都是重载关系,构造方法不能重写。
7.构造方法执行时,不一定会创建对象。如抽象类中有构造方法,但无法创建抽象类对象,只能在创建抽象类的子类对象时,自动调用抽象类的构造方法。

面向对象三大特性

封装

将类中的属性使用 private 修饰,这样就能防止非当前类对其访问。
封装的步骤:
1. 给类中的所有属性添加 private 访问修饰符  //私有
2. 给每个属性添加 getXXX(),setXXX() 方法用于读取属性值,给属性赋值

继承

A extend B 。类 A 就是类 B 的子类,类 A 的对象就能直接访问类 B 中非私有成员。
或接口 A extends 接口 B
    A继承B  B为父 A为子
访问修饰符 类  A extends B    

重写Override

子类继承父类后,对父类中的非私有方法进行重写,达到拓展或重做的目的
必须满足方法名、返回值、参数列表都相同
访问权限不能比父类中的方法更严格
不能抛出比父类中的方法更大的异常

重载Overload

总结下来五个字
   同名不同参
同名顾名思义方法名相同,不同参则是传进来的数据类型不同,数量不同等;

thissuper

都可以当做对象或构造方法使用。
当做对象: this 表示当前类的对象 ,super 表示当前类的父类对象。
this super 当做对象使用时,只能用在非静态方法中。
当做构造方法: this() 表示当前类的无参数构造方法,如果带参数就表示对应参数的构造方法。
super() 表示当前类的父类的无参数构造方法,如果带参数就表示对应参数的构造方法
this() super() 只能用在另一个构造方法的首行。
在继承关系中,如果父类和子类都没有写出来任何构造方法时,子类有一个隐藏的无参数构造方法,会自动调用父类中无参数的构造方法。
如果父类中有带参数的构造方法,没有无参数的构造方法时,子类必须要调用父类中的构造方法。

Object

是所有类的父类。任何类都间接地继承了该类,但没有明确地使用 extends 体现出来。所有类都可以访
Object类中的方法,或对其进行重写。toString() 就是 Object 类中的一个方法,在输出对象时自动调用。默认输出的是 " 类名 @十六进制哈希码 " ,通常在自定义类中,重写 toString() ,从而输出该类中的属性。
equals() 也是 Object 类中的一个方法,用于比较两个对象是否相同。默认使用 ==比较,即比较内存地址,通常需要重写该方法,自定义判断两个对象是否相同时所需的参数。
向上转型
子类对象可以直接使用父类变量保存,即多态。(A为父  B子)
Aclass a1=new Bclass();
向下转型
父类对象可以间接使用子类变量保存,但是需要强制转换(A为父  B子)

Bclass a1=(Bclass)new Aclass();

多态

在继承关系中,子类的对象可以保存到父类的变量中。
多态通常应用于定义方法时,形参为一个父类或接口类型变量,实参可以是子类对象。
无法通过父类变量调用子类独有的方法,如果调用重写了父类的方法时,执行重写后的内容。

访问修饰符

从范围大到小依次是 public 公共的 <-----  protected 受保护的  <-----   不写   <----- private 私有的

final

用于修饰属性、方法和类
修饰属性:变量变为常量,不能改变其中的值。
修饰方法:方法成为最终方法,不能重写。
修饰类:类成为最终类,不能被继承。

abstract

用于修饰类和方法,表示抽象的。
修饰方法,方法成为抽象方法,没有方法体,同时该方法的所在类也一定要用 abstract修饰,让其成为抽象类。
抽象方法只能出现在抽象类中,不能出现在普通类中。
抽象类中可以没有抽象方法。
抽象类中有构造方法,但该构造方法只会在 new 抽象类的子类对象时会自动调用,抽象类不能创建
自身对象。
抽象类通常需要被继承,一旦有子类继承了抽象类,就必须要重写抽象类中的所有抽象方法。

interface

用于定义接口的关键字。代替 class。
如果某个抽象类中全都是抽象方法时,可以将这个类改为接口。
接口是一个完全抽象类,其中的方法都是 public abstract 修饰的抽象方法,没有方法体,其中的属
性都是 public final static 修饰的静态常量。
接口中没有构造方法,不能创建对象。
接口通过 implements 实现,实现它的类称为该接口的实现类。
一个类可以同时实现多个接口。
一个类实现了接口后,必须重写其中的抽象方法。
JDK1.8 后,可以在接口中定义 default 方法和 static 方法,该方法不用重写。

static

可以修饰方法、属性或代码块。被修饰的内容称为静态成员。
静态成员在类加载时就会保存到内存中,所以访问静态成员时,无需对象,直接通过类名即可访问。
当某个属性或方法被高度重用时,可以将其定义为静态的,之后通过类名调用。
还可以在类中定义静态代码块 static{} ,在类加载时自动执行的代码块。
静态方法中无法使用非静态成员
普通方法中可以使用静态成员

个人心得

     在本周学习JAVA面向对象的过程中,我收获颇多,首先在学习这个阶段的时候我们首先就需要了解到面向对象的三大特征,这很重要封装、继承、多态,在上面的文章中也有提到,这个阶段从名字而来就能了解到什么是最重要的东西,那就是"对象",对象是什么,对象里面有什么,虽然以前学习的代码知识只能说是面向过程,侧重于如何解决这个小问题,而在学习了面向对象后应该学会如何去合理的安排合适的对象去解决这个问题,学会归纳,直接看问题的眼界都不一样了,而在对象中,对象与对象也有许多关系,比如现在大家熟系的什么继承、接口这些等等都是类与类之间的关系,而对象则是类的具体化实例。

     我觉得现在这个阶段最重要的就是学会如何去分开解决问题,而不是和以前一样直接全部写在一个类里面,不是说不行,而是费时费力,我们为什么需要去学习这些面向对象,为什么要学习JAVA高级教程,说白了还是大部分人想做的事情,在同一个问题上我们能够用最少的时间,最少的代码来解决这个问题,效率!在这个发展迅速的时代,效率高才是真的高。以上是我对于本次课程JAVA面向对象的一些心得体会。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值