java面向对象知识点总结材料.docx

上传人:scccc 文档编号:14682187 上传时间:2022-02-11 格式:DOCX 页数:10 大小:34.46KB
返回 下载 相关 举报
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页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java面向对象知识点总结材料.docx》由会员分享,可在线阅读,更多相关《java面向对象知识点总结材料.docx(10页珍藏版)》请在三一文库上搜索。

1、实用文档1类和对象1.1 类:类是用来描述一类事物的共性内容的,类是抽象的;创立类,如何描述属性 功能用变量来描述属性用方法来描述功能1.2 对象:就是现实中具体的事物,对象是具体的;创立对象类名对象名 =new类名();如何通过对象访问类中属性和方法呢?对象名.变量名对象名.方法名();只要是new的对象,就是新创立的,就会在内存中开辟一段单独的空间1.3 匿名对象创立的对象没有赋值给具体的变量;所以给匿名对象的属性赋值是没有任何意义的;匿名对象使用场景1调用方法2作为参数传递3添加进容器中1.4 This关键字This.类中的普通方法访问到的成员前边都有this.这个关键字This.就代表

2、当前对象,普通方法,创立对象调方法,谁调用就代表谁This();可以用来在构造函数中调用本类与之相对应的构造函数 使用考前须知:1 this()只能是构造函数的第一条执行语句2 this()不能在构造函数之间相互调用3 this()不能调用自己标准文案实用文档1.4构造函数方法1.4.1 构造函数的作用用来给对象进行初始话的初始化就是指给对象的各个属性赋值1.4.2 构造函数何时执行对象一创立就会调用与之相对应的构造函数1.4.3 构造函数语法修饰符 没有返回值类型类名参数列表具体执行的代码1.4.4 构造函数自动添加当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构

3、造,如果我们指定了,就不添加了1.4.5 构造函数和普通函数的区别5.1 执行时机不同对象一创立就会调用与之相对应的构造函数普通函数只有被调用才会执行5.2 return1就是用来在方法中返回具体结果结果类型必须和方法的返回值类型一致2即便方法的返回值类型是void,方法中也可以出现return;3构造函数中也可以有return关键字5.3 成员变量和局部变量1作用范围不同,成员变量是定义在类中的,在整个类中都起作用 局部变量是定义在方法中的,在所在代码块起作用2初始值不同成员变量有默认初始值,不用赋值,也能直接时候局部变量,没有初始值,必须得赋值以后才能使用标准文案实用文档2封装2.1 st

4、aticStatic是用来修饰类中成员 成员变量成员方法被static修饰的成员,就多了一种调用方式,可以被类名直接调用了2.1.1 修饰成员变量该变量在内存中只会保存一份,被类和所有对象共享,那么一个对象对其进行修 改,会影响到其他对象,为了不影响其他对象,经常会把静态变量搞成常量,被final 修饰;2.1.2 修饰成员方法静态方法中只能访问静态成员普通方法中都能访问;静态方法中不能出现this,super关键字Main函数是静态的;那么我们定义方法时,什么时候定义静态,什么时候定义非静态? 当方法中使用到了普通非静态成员的话,就不能定义成静态的;2.1.3 static代码块静态代码块用

5、来给类进行初始话给类中的静态成员进行初始化会随着类的加载而执行只会执行一次2.2 封装就是隐藏类中的某些成员;仅对外提供公共的访问方式封装三步走:1私有属性2提供set和get方法供外界给对象设置值和获取值3在方法中添加具体的存取限制2.3 包和权限修饰符2.3.1 类权限修饰符可以用来修饰两种东西:Public该类在其他包中也可以访问首先要导包import默认标准文案实用文档2.3.2 类中成员Public protected 默认 private本类中是否能访问本包其他类Public能默认能Private能匕匕AB 匕匕匕匕 N AB目彳其他包 能包1创立包2 声明包 package co

6、m.wanshi.day0803;3 导入包 import java.util.Scanner;包的作用1便于治理2预防命名冲突;3包 也是封装的一种方式,可以在更广的范围保护类3继承某个类 可以 通过 extends继承其他的类一个类继承了另外一个类以后,就继承了所有的非私有的属性和方法考前须知1 java中只允许单继承;不允许多继承,但是允许多层继承2何时继承? A is B;继承发生以后类中成员的特点1成员变量当子类和父类的成员变量同名是,子类中优先使用子类自己的.可以通过super调 ;2成员方法子父类具有相同的功能,但是子类有自己具体的实现,这个时候子类是没有必要重新定义一个方法的,

7、只需要重写父类就行了 ;重写覆盖1前提,存在继承和实现关系2方法名一样,参数列表一样,返回值类型一样jdk5以后要求子类的返回值类型是父类返回值类型的子类也行3子类方法的权限不能小于父类4子类方法不能抛出比父类更多的异常标准文案实用文档重载同一个类中,方法名一样,参数列表不一样(参数数量,参数类型),与返回值类型无 关3构造函数1构造函数是不能继承的;2但是子类可以在构造函数中通过super()调用父类与之相对应的构造3如果子类构造函数首行没有明确指定 this(), super( “);这样的语句的话,其实是 有一天隐式语句super()调用父类空参数构造,如果父类没有空参数构造的话,子类是

8、会报错的;4如果子类首行有this()这样的语句的话,就没有隐式语句super();5不管子类的第一行有没有this(),super();创立子类对象的时候一定会调用到父 类的某个构造;4与上帝相关Object1任何类java中自带的类,或者是我们自定义的类,都直接或间接的继承自 Object;2如果某个类没有明确指定父类的话,那么这个类就默认继承自Object;3所有Object中定义的方法所有java对象都可以调用4 比方 toString() equals(Object object)5直接打印对象的话.我们发现出现的是对象的内存地址值,由于打印对象就是打 印的对象的toString()

9、方法的返回值.而Object身上定义的toString方法返回的 就是对象的内存地址值,这个时候这需要我们重写toString方法以后,调用的就是子类自己的toString方 法了5抽象类1发现该类事物都具备该功能,但是不确定如何实现,就可以定义成抽象方法2抽象方法特点 没有方法体,被abstract修饰3如果一个类中有抽象方法,这个类也必须得是抽象类4如果一个类继承了抽象类以后,这个类要么是抽象的,要么必须实现抽象类中的 所有抽象方法5抽象类和普通类的不同;抽象类不能被实例化对象;6为什么不能实例化对象由于创立对象以后就可以通过对象调用抽象类中没有方法体的抽象方法了,这样是没有意义的,为了不

10、让调用,干脆就不让创立对象了 ;标准文案实用文档7抽象类有没有构造函数?抽象类天生就是被继承的,然后创立子类对象的时候一定会调用到父类构造8抽象类中可以没有抽象方法;6 Final1常量不能重新赋值2类该类不能被继承不能派生子类3方法该方法不能被重写(覆盖)7 Abstract修饰方法和三个关键字冲突1 final2 static3 private8 super 关键字1 super.指代父类对象的引用可以通过super调用父类的属性和方法2可以通过super()在构造函数中调用父类与之相对应的构造函数4多态4.1 多态的表达Animal animal = new Pig();父类的引用指向了

11、子类对象左边声明的是父类,右边创立的是子类;4.2 多态的前提存在继承或实现关系4.3 多态的好处简化了代码;大大提升了程序扩张性;4.4 多态的弊端只能调用父类共有的方法,不能调用子类特有的方法标准文案实用文档4.5 多态的应用Animal animal = new Pig();能不能调用看左边,具体调用谁的看右边; 非要调用子类特有的方法需要强转,向下转型:强制把父类的应用转成子类对象; 向下转型容易出问题,为了预防类型映射异常,最好在强转以前进行类型判断Instanceof4.6 多态的应用场景4.6.1 定义方法的时候,形式参数的类型声明为父类,这样调用方法的时候就可以 传递该父类的任

12、意子类对象进来了;4.6.2 以父类作为方法的返回值类型,5接口1如何定义一个接口 ,interface2初期理解,接口就是里边都是抽象方法的抽象类3接口中成员 接口中只能有两种成员3.1 抽象方法3.2 静态常量4接口中的成员都有固定的修饰符,可以省略抽象方法的 public abstract静态常量的 public final static5接口和抽象类都不能实例化对象6接口是没有构造函数的,7 接口支持多实现implements A,B,C ,D8 一个类在继承了一个类的同时还可以实现多个接口9接口和接口之间也有关系,是继承关系10接口和接口之间支持多继承 2何时使用接口2.1 接口是额

13、外的功能2.2 接口预先定义好的规那么6异常程序运行中的不正常事件,会导致程序终止运行标准文案实用文档1 tryTry可能出现异常的代码)2 catchCatch倭捕获的异常对象)捕获住异常执行的代码;e.printStackTrace();)3 finallyFinally不管是否发生异常;不管发生异常之后能不能捕获住异常,都会执行的代码即使try catch中有return语句也是先执行完finally中的代码,再return;Finally不执行的唯一情况是 try catch中碰到System.exit(1); )4多重catch语句块;Try中代码发生异常以后,会从上往下依次匹配ca

14、tch代码块,匹配上某一个的话就 不继续往下匹配了 ;我们经常会在多个catch的最后catch一个最大的Exception,起一个兜底的操作 就是即使发生了我们没有预料到的异常,程序也不会终止掉,并且最大的异常应 该放在最后一个catch块;5 throws throwThrows用来在方法上抛出多个异常类的,各个异常类之间用 逗号分隔开Throw用来在方法内部抛出一个异常对象我们调用到了声明过异常的方法,必须进行处理,两种处理方式,要么抛,要么try;标准文案实用文档6自定义异常自定义一个类继承Exception就是异常类了 ;public class NoFriendException extends ExceptionNoFriendException()NoFriendException(String message) super(message);标准文案

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1