类 对象 抽象类 继承 回顾

1 类的组成

定义类的时候,需要关键字:class

在类中可以写:属性、方法、构造方法!

 

构造方法:

1、用于创建对象;(程序员在使用关键字:new的时候,会自动执行对应的构造方法)

2、在对象创建的过程中给成员变量赋值;

 

注意:

构造方法可以重载;


2.This关键字

This的概念:当前对象的引用;(正在调用方法的这个对象)

 

This主要作用:区分成员变量和局部变量;



3.匿名对象

没有名字的对象就是匿名对象;

好处:可以节约一个变量内存空间;

缺点:这个对象只能使用一次,且在创建成功的时候必须立刻使用,否则过了这一行就不能再使用了;

 

注意:

匿名对象可以作为参数,也可以作为返回值使用;


4 继承

 组合概念

一个类(A)的成员变量的位置,拥有了另一个类(B)型的变量,此时A类和B类就是组合关系;

继承的概念

一个类(A)与另一个类(B)产生了父子关系,就是A继承了B类;

好处:

子类对象可以直接使用父类非私有的属性和方法!

(私有的属性,可以继承,但是不能直接使用,父类必须提供getset方法,子类可以通过getset方法,使用父类的私有的属性)

弊端:

类与类之间的耦合度高!

继承的代码格式

Java提供了一个关键字:extends

Public class 子类 extends 父类{

//属性。方法。构造方法




5. 方法重写的概念

在继承体系中,子类中拥有与父类一模一样的方法,叫做重写;

(子类中的方法的权限必须大于或等于父类的权限,返回值和参数类型必须小于或等于父类的类型)


 

6 继承中成员变量访问的特点

 

当子父类成员变量中出现了重名的变量的时候,在子类的方法中,会使用子类的成员变量的值;

当子父类成员变量中出现了重名的变量的时候,在父类的方法中,会使用父类的成员变量的值;



7 Super关键字

含义:父类对象的引用;代表该关键字所在的类的父类对象;

注意事项:super一般写在子类中;不能写在static方法中;

在子类中访问父类的非私有的属性格式:

Super.属性名;

在子类中访问父类的非私有的方法格式:

Super.方法名(参数列表值);



Thissuper关键字在构造方法中的使用

构造方法不存在重写

构造可以重载;

当构造方法重载的时候,可以使用this关键字在其中一个构造方法中调用其他的构造方法;(参数多的调用参数少的)

 

This在本类的构造方法中调用本类的重载的构造方法的格式:

This(参数值)

 

在子类的构造方法中可以使用Super(参数值)的形式调用父类的构造方法!

 

注意事项:

1、如果子类的构造方法中,什么都不写,默认会自动调用父类的空参数的构造方法;

2、如果手动写上了调用本类的构造方法或父类的构造方法,那么默认的调用将自动消失;

3、This()super()不能同时出现在同一个构造方法中;

4、调用其他构造方法的代码只能写在第一行;

5、父类对象一定是优先于子类对象存在!



Thissuper的总结

调用属性:

this.属性名;  调用自己类的成员变量;必须写在本类中;

Super.属性名;   调用父类的成员变量;必须写在子类中;

 

调用成员方法:

This.方法名(参数值)或方法名(参数值);  在自己的类中,调用自己类的普通方法;

Super.方法名(参数值);                在子类中,调用父类的重写的方法;

 

调用构造方法:

This(参数值);   在自己的构造方法中,调用自己类的其他的构造方法;

Super(参数值);   在子类的构造方法中,调用父类的指定的构造方法;


10 抽象类的概述

“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。

使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。

简单记:包含抽象方法的类一定是抽象类;

抽象类中可以没有抽象方法;

 


Java提供了一个关键字表示抽象的含义:abstract

抽象方法的格式:

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

 

抽象类的格式:

Public abstract class 类名{

属性

构造方法

成员方法

抽象方法


11 关于抽象类的总结

1、抽象类不能直接创建对象;(不能new

2、子类必须重写父类的所有的抽象方法,否则子类也只能是抽象类;

3、抽象类一定是父类吗?  是!是不断向上抽取而来的!

4、设计时由具体类抽取出抽象类,而开发阶段应该先定义抽象父类,再根据不同需求由父类定义子类。

5、抽象类中可以没有抽象方法;











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值