java面向对象知识点总结复习过程.docx

上传人:b****6 文档编号:7057184 上传时间:2023-01-16 格式:DOCX 页数:10 大小:21.52KB
下载 相关 举报
java面向对象知识点总结复习过程.docx_第1页
第1页 / 共10页
java面向对象知识点总结复习过程.docx_第2页
第2页 / 共10页
java面向对象知识点总结复习过程.docx_第3页
第3页 / 共10页
java面向对象知识点总结复习过程.docx_第4页
第4页 / 共10页
java面向对象知识点总结复习过程.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

java面向对象知识点总结复习过程.docx

《java面向对象知识点总结复习过程.docx》由会员分享,可在线阅读,更多相关《java面向对象知识点总结复习过程.docx(10页珍藏版)》请在冰豆网上搜索。

java面向对象知识点总结复习过程.docx

java面向对象知识点总结复习过程

1类和对象

1.1类:

类是用来描述一类事物的共性内容的,类是抽象的;

创建类,如何描述

属性功能

用变量来描述属性

用方法来描述功能

1.2对象:

就是现实中具体的事物,对象是具体的;

创建对象

类名对象名=new类名();

如何通过对象访问类中属性和方法呢?

对象名.变量名

对象名.方法名();

只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间

1.2匿名对象

创建的对象没有赋值给具体的变量;

所以给匿名对象的属性赋值是没有任何意义的;

匿名对象使用场景

1调用方法

2作为参数传递

3添加进容器中

1.3This关键字

This.类中的普通方法访问到的成员前边都有this.这个关键字

This.就代表当前对象,

普通方法,创建对象调方法,谁调用就代表谁

This();可以用来在构造函数中调用本类与之相对应的构造函数

使用注意事项:

1this()只能是构造函数的第一条执行语句

2this()不能在构造函数之间相互调用

3this()不能调用自己

1.4构造函数(方法)

1.4.1构造函数的作用

用来给对象进行初始话的(初始化就是指给对象的各个属性赋值)

1.4.2构造函数何时执行

对象一创建就会调用与之相对应的构造函数

1.4.3构造函数语法

修饰符没有返回值类型类名(参数列表){

具体执行的代码

}

1.4.4构造函数自动添加

当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造,

如果我们指定了,就不添加了

1.5.5构造函数和普通函数的区别

5.1执行时机不同

对象一创建就会调用与之相对应的构造函数

普通函数只有被调用才会执行

1.5return

1就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致)

2即便方法的返回值类型是void,方法中也可以出现return;

3构造函数中也可以有return关键字

1.6成员变量和局部变量

1作用范围不同,成员变量是定义在类中的,在整个类中都起作用

局部变量是定义在方法中的,在所在代码块起作用

2初始值不同,成员变量有默认初始值,不用赋值,也能直接时候

局部变量,没有初始值,必须得赋值以后才能使用

2封装

2.1static

Static是用来修饰类中成员成员变量成员方法

被static修饰的成员,就多了一种调用方式,可以被类名直接调用了

2.1.1修饰成员变量

该变量在内存中只会保存一份,被类和所有对象共享,那么一个对象对其进行修改,会影响到其他对象,为了不影响其他对象,经常会把静态变量搞成常量,被final修饰;

2.1.2修饰成员方法

静态方法中只能访问静态成员

普通方法中都能访问;

静态方法中不能出现this,super关键字

Main函数是静态的;

那么我们定义方法时,什么时候定义静态,什么时候定义非静态?

当方法中使用到了普通(非静态)成员的话,就不能定义成静态的;

2.1.3static代码块(静态代码块)

用来给类进行初始话(给类中的静态成员进行初始化)

会随着类的加载而执行(只会执行一次)

2.2封装

就是隐藏类中的某些成员;仅对外提供公共的访问方式

封装三步走:

1私有属性

2提供set和get方法供外界给对象设置值和获取值

3在方法中添加具体的存取限制

2.3包和权限修饰符

2.3.1类

权限修饰符可以用来修饰两种东西:

Public该类在其他包中也可以访问(首先要导包import)

默认

2.3.2类中成员

Publicprotected默认private

本类中是否能访问本包其他类其他包

Public能能能

默认能能不能

Private能不能不能

1创建包

2声明包packagecom.wanshi.day0803;

3导入包importjava.util.Scanner;

包的作用

1便于管理

2防止命名冲突;

3包也是封装的一种方式,可以在更广的范围保护类

3继承

某个类可以通过extends继承其他的类

一个类继承了另外一个类以后,就继承了所有的非私有的属性和方法

注意事项

1java中只允许单继承;不允许多继承,但是允许多层继承

2何时继承?

AisB;

继承发生以后类中成员的特点

1成员变量

当子类和父类的成员变量同名是,子类中优先使用子类自己的.可以通过super.调用父类的成员变量和成员方法;

2成员方法

子父类具有相同的功能,但是子类有自己具体的实现,这个时候子类是没有必要重新定义一个方法的,只需要重写父类就行了;

重写(覆盖)

1前提,存在继承和实现关系

2方法名一样,参数列表一样,返回值类型一样(jdk5以后要求子类的返回值类型是父类返回值类型的子类也行)

3子类方法的权限不能小于父类

4子类方法不能抛出比父类更多的异常

重载

同一个类中,方法名一样,参数列表不一样(参数数量,参数类型),与返回值类型无关

3构造函数

1构造函数是不能继承的;

2但是子类可以在构造函数中通过super()调用父类与之相对应的构造

3如果子类构造函数首行没有明确指定this(),super(“”);这样的语句的话,其实是有一天隐式语句super(),调用父类空参数构造,如果父类没有空参数构造的话,子类是会报错的;

4如果子类首行有this()这样的语句的话,就没有隐式语句super();

5不论子类的第一行有没有this(),super();创建子类对象的时候一定会调用到父类的某个构造;

4与上帝相关Object

1任何类java中自带的类,或者是我们自定义的类,都直接或间接的继承自Object;

2如果某个类没有明确指定父类的话,那么这个类就默认继承自Object;

3所有Object中定义的方法所有java对象都可以调用

4比如toString()equals(Objectobject)

5直接打印对象的话.我们发现出现的是对象的内存地址值,因为打印对象就是打印的对象的toString()方法的返回值.而Object身上定义的toString方法返回的就是对象的内存地址值,

这个时候这需要我们重写toString方法以后,调用的就是子类自己的toString方法了

5抽象类

1发现该类事物都具备该功能,但是不确定如何实现,就可以定义成抽象方法

2抽象方法特点没有方法体,被abstract修饰

3如果一个类中有抽象方法,这个类也必须得是抽象类

4如果一个类继承了抽象类以后,这个类要么是抽象的,要么必须实现抽象类中的所有抽象方法

5抽象类和普通类的不同;

抽象类不能被实例化对象;

6为什么不能实例化对象

因为创建对象以后就可以通过对象调用抽象类中没有方法体的抽象方法了,这样是没有意义的,为了不让调用,干脆就不让创建对象了;

7抽象类有没有构造函数?

抽象类天生就是被继承的,然后创建子类对象的时候一定会调用到父类构造

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

6Final

1常量不能重新赋值

2类该类不能被继承不能派生子类

3方法该方法不能被重写(覆盖)

7Abstract修饰方法和三个关键字冲突

1final

2static

3private

8super关键字

1super.指代父类对象的引用可以通过super.调用父类的属性和方法

2可以通过super()在构造函数中调用父类与之相对应的构造函数

4多态

4.1多态的体现

Animalanimal=newPig();

父类的引用指向了子类对象

左边声明的是父类,右边创建的是子类;

4.2多态的前提

存在继承或实现关系

4.3多态的好处

简化了代码;

大大提高了程序扩张性;

4.4多态的弊端

只能调用父类共有的方法,不能调用子类特有的方法

4.5多态的应用

Animalanimal=newPig();

能不能调用看左边,具体调用谁的看右边;

非要调用子类特有的方法需要强转,向下转型:

强制把父类的应用转成子类对象;

向下转型容易出问题,为了防止类型映射异常,最好在强转以前进行类型判断;

Instanceof

4.6多态的应用场景

4.6.1定义方法的时候,形式参数的类型声明为父类,这样调用方法的时候就可以传递该父类的任意子类对象进来了;

4.6.2以父类作为方法的返回值类型,

5接口

1如何定义一个接口,interface

2初期理解,接口就是里边都是抽象方法的抽象类

3接口中成员接口中只能有两种成员

3.1抽象方法

3.2静态常量

4接口中的成员都有固定的修饰符,可以省略

抽象方法的publicabstract

静态常量的publicfinalstatic

5接口和抽象类都不能实例化对象

6接口是没有构造函数的,

7接口支持多实现implementsA,B,C,D

8一个类在继承了一个类的同时还可以实现多个接口

9接口和接口之间也有关系,是继承关系

10接口和接口之间支持多继承

2何时使用接口

2.1接口是额外的功能

2.2接口预先定义好的规则

6异常

程序运行中的不正常事件,会导致程序终止运行,

1try

Try{

可能出现异常的代码

}

2catch

Catch(要捕获的异常对象){

捕获住异常执行的代码;

e.printStackTrace();

}

3finally

Finally{

不论是否发生异常;

不论发生异常之后能不能捕获住异常,都会执行的代码

即便trycatch中有return语句,也是先执行完finally中的代码,再return;

Finally不执行的唯一情况是trycatch中碰到System.exit

(1);’

}

4多重catch语句块;

xìng(高兴)fā(发现)zhòng(种下)hái(还有)Try中代码发生异常以后,会从上往下依次匹配catch代码块,匹配上某一个的话就不继续往下匹配了;

我们经常会在多个catch的最后catch一个最大的Exception,起一个兜底的操作,就是即便发生了我们没有预料到的异常,程序也不会终止掉,并且最大的异常应该放在最后一个catch块;

 

(3)、连线或填空

5throwsthrow

小松鼠从树上跳下来。

我从学校走出来。

Throws用来在方法上抛出多个异常类的,各个异常类之间用逗号分隔开

Throw用来在方法内部抛出一个异常对象

 

鸟鸟字旁(鸭鸡鹅)竹字头(笑笔笛)一架飞机一位老师一群老师一座房一间房子我们调用到了声明过异常的方法,必须进行处理,两种处理方式,要么抛,要么try;

碧绿碧绿的叶子(小草、菜地)雪白雪白的雪花(浪花、梨花、贝壳)

(有)——(无)(高)——矮、低(前)——(后)(出)——(进、入)八、“从”在句子中的使用

单人旁:

你、们、他、借、像、做、什、伙、伴、位6自定义异常

自定义一个类继承Exception就是异常类了;

 

(5)小荷才露尖尖角,早有蜻蜓(立上头)。

(6)、()那么(),那么()。

小树渐渐长高了。

白白的雪花弯弯的月儿弯弯的小路publicclassNoFriendExceptionextendsException{

高兴高高兴兴许多许许多多NoFriendException(){

一条尾巴一只猴子一群猴子一枝铅笔一袋洗衣粉

(4)、照样子写出来。

如:

爱(爱人)(亲爱)(爱情)(可爱)(热爱)(友爱)

3、日木女王日口4、音门日禾女山

5、字母表:

}

例一、青+(虫)=蜻赶—干=(走)

一(幅)画一(束)鲜花一(座)天安门一(艘)军舰3、加偏旁组字,再组词。

鲜艳的花朵甜甜的笑容高高的灯笼NoFriendException(Stringmessage){

例:

李老师正忙着改作业呢!

千(一千)汽(汽水)为(因为)桃(桃子)对(对面)象(大象)找(找到)坐(坐下)10、用两个字组新字:

(如课本133页)super(message);

 

和气语气话语笑话蚂蚁凉快快乐赶快就是成名有名非和飞气和汽以和已请和情玩和完很和得跳和桃}

 

例:

月儿弯弯的像小船。

小燕子的尾巴像剪刀。

“有”的使用}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1