面向对象思想

1.面向对象思想

把构成问题的各种事物,抽象成各个对象,这些对象具有解决很多类似问题的行为(方法)。

把具有相同属性和行为的某一类事物抽象成一个类,然后用类来创建对象。

2.类与对象

类是对一类事物的描述,而对象是类的一个具体的实例,类是对象的模板,对象是类的具体表现。

3.成员变量和局部变量

成员变量和局部变量的区别:

(1)生命周期不同:成员变量的生命周期是从(创建对象之后)声明开始,局部变量的声明周期是存在的方法中;

(2)作用范围不同:成员变量的作用范围是对象创建之后,局部变量的作用范围是所在的方法;

(3)成员变量可以只声明不赋值,因为会有默认赋值,而局部变量声明时必须赋值;

(4)成员变量是属于对象的,它存储在堆空间中,而局部变量是属于方法的,存储在栈空间中。

4.匿名对象

创建一个对象需要开辟两块内存空间,一块是在栈中,另一块是在堆中,栈中存放堆中的地址值,这样就比较方便我们对这个对象的后续操作。

匿名对象指的是在堆中开辟一块内存空间,但是没有将堆中的地址值赋值给栈中的变量,这样的对象我们只能值声明时对其操作,后续无法再对其进行操作。

5.this关键字

在类的非静态方法中,this关键字可以表示为当前类的一个实例对象。

this关键字的用法:

(1)区分局部变量和成员变量;

(2)构造器的互调;

(3)调用类中其他的方法。

6.super关键字

super是子类对父类中的属性和方法进行访问和调用的关键字。

super关键字的用法:

(1)子类访问父类的属性;

(2)子类调用父类的方法;

(3)子类调用父类的构造器。

7.构造方法

类中的构造方法也叫构造器,是在创建对象的时候必须调用的方法。

(1)构造方法的特点:

①方法名必须和类名保持一致;

②方法没有返回值类型,如果是Student类,那么构造方法为public Student(){}。

(2)每一个类中都有一个默认的无参的构造方法,如果类中只声明定义了有参的构造方法,那么默认的无参构造方法不存在;

(3)构造方法的作用
①创建对象的时候,new后面跟着的必须是类中存在的构造方法;

②构造方法中的代码,会在创建对象之后被调用,对象的属性完成初始化。

(4)当类中存在多个构造方法时(构造方法的重载,即列表参数不同),this关键字可以被使用在构造方法的互调。

8.封装

封装的好处:①提高代码的安全性;②提高代码的复用性;③提高代码的可维护性;④简化外部的调用。

封装,用通俗的语言来说,就是把类中的属性都私有化(用private访问修饰符修饰),然后对外提供公共的访问方法。

9.继承

继承的好处:①提高代码的复用性;②类与类之间产生了关系,是多态的前提;

子类继承父类的时候,使用extends关键字

在java中,类与类之间的继承关系是单继承,

10.多态

多态的前提:

(1)子类继承父类;

(2)子类重写父类中的方法;

(3)父类的引用指向子类对象。

11.抽象类

关键字abstract可以修饰类,方法。

抽象类中可以没有抽象方法,但是有抽象方法的类必须声明成抽象类。

抽象方法的特点:只有方法的声明,没有方法的实现。

抽象类和非抽象类的区别:

(1)抽象类使用了abstract关键字,而非抽象类没有使用abstract关键字;

(2)抽象类中可以写抽象方法,但是非抽象类不可以写抽象方法;

(3)抽象类不可以实例化创建对象,而非抽象类中可以实例化创建对象。

12.接口

接口的定义关键字:interface

接口里面的属性,默认是public static final修饰的;

接口里面的方法,默认是public abstract修饰的。

13.内部类

成员内部类:和成员属性、成员方法同级,注意,成员内部类中不可以编写静态的属性和方法。

静态内部类:和成员内部类类似,只不过多加了一个static修饰符,可以编写静态的属性和方法。

局部内部类:声明在外部类的方法中,相当于局部变量,作用范围在当前方法中。

匿名内部类:是没有名字的内部类,是内部类的简化写法。

匿名内部类的两种形式:

(1)利用一个父类,进行声明并创建匿名内部类对象,这个匿名内部类默认就是这个父类的子类型;

(2)利用一个接口,进行声明并创建匿名内部类对象,这个匿名内部类默认就是这个接口的实现类。

综上,内部类的使用情况:

成员内部类:需要重复多次使用时,并且需要外部类的非静态属性和非静态方法;

静态内部类:需要重复多次使用时,并且需要外部类的静态属性和静态方法;

匿名内部类:只需要使用一次;

局部内部类:几乎不会使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清梦扰i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值