摘要: 自定义异常: 使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。 在程序中使用自定义异常类,大体可以分为以下几个步骤: 创建自定义异常类 在方法中通过throw关键字抛出异常对象 如果在当前抛出异常的方法 阅读全文
posted @ 2020-01-21 18:09 断浮 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 异常处理机制: 抛出异常 捕获异常 异常处理的5个关键字 try、catch、finally、throw、throws try、catch、finally、 1 package com.exception; 2 3 public class Demo01 { 4 public static void 阅读全文
posted @ 2020-01-21 18:08 断浮 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 什么是异常 比如上午我们一般是开车去上班,正常情况下,一般都不会迟到,但是今天突然有个问题,车坏了或者限行了,于是乎你改坐公交了,就有可能会迟到,这就属于一种异常的情况。在实际生活中呢,可能会遇到很多很多的不测,天有不测风云,那就是这样的。 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个 阅读全文
posted @ 2020-01-21 17:53 断浮 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 内部类: 内部类就是在一个类的内部再定义一个类,比如,A类中定义了一个B类,那么B类相对于A类来说就成为内部类了,而A类相对于B类来说就是一个外部类了。 成员内部类:获得外部类的私有属性、私有方法... 1 package com.oop.demo11; 2 3 public class Outer 阅读全文
posted @ 2020-01-21 17:49 断浮 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 接口:interface 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有!不能new只能通过子类实现 接口:只有规范!自己无法写方法~专业的约束! 约束和实现分离:面向接口编程~ 接口就是规范,定义的是一组规则,体现了现实世界中"如果你是...则必须能..."的思想。如果你是天使,则必 阅读全文
posted @ 2020-01-21 17:46 断浮 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 抽象类:abstract 1、abstract修饰符可以用来修饰方法也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类那么该类就是抽象类 2、抽象类中可以没有抽象方法,但是有抽象方法的类一定是抽象类 3、抽象类,不能使用new关键字来创建对象,它是用来让子类继承的 4、抽象方法,只有 阅读全文
posted @ 2020-01-21 17:45 断浮 阅读(110) 评论(0) 推荐(0) 编辑
摘要: static修饰属性和方法: 1 package com.oop.demo08; 2 3 //static :被static修饰的变量或者方法随类加载,从属于类,当然对象也可以调用 4 public class Student { 5 6 private static int age;//静态的变量 阅读全文
posted @ 2020-01-21 17:42 断浮 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Instanceof: 判断一个对象是什么类型的~,可以判断两个类之间是否存在父子关系 1 package com.oop.demo07; 2 3 public class Person { 4 5 public void run(){ 6 System.out.println("run"); 7 阅读全文
posted @ 2020-01-21 17:40 断浮 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 多态: 多态可以实现动态编译,就是程序这个类型的最终状态只有在执行过程中才可以决定,而你写代码的时候是确定不了的。在大型项目里面的话,方便可扩展性。 同一个方法可以根据发送对象的不同而采用多种不同的行为方式。一般指的是父类引用指向子类对象,对象能执行哪些方法,主要看对象左边的类型。子类引用能调用的方 阅读全文
posted @ 2020-01-21 17:37 断浮 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 方法重写:Override: 需要有继承关系,子类重写父类的方法! 方法名必须相同 参数列表必须相同 修饰符:范围可以扩大,但不能缩小:public>protected>defalut>private 抛出异常:范围,可以被缩小,但不能扩大;ClassNotFoundException-->Exce 阅读全文
posted @ 2020-01-21 17:35 断浮 阅读(287) 评论(0) 推荐(0) 编辑
摘要: super注意点: surper()是调用父类的构造方法,而且必须在构造方法的第一个 super必须只能出现在子类的方法或者构造方法中! super()和this()不能同时调用构造方法! Vs this: 代表的对象不同: this:本身调用者这个对象 super:代表父类对象的引用 前提: th 阅读全文
posted @ 2020-01-21 17:34 断浮 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 继承: 其实和生活中的一样的,现实世界中的继承是无处不在的,就比如说最简单的动物,动物它是一个很高的分类,比如动物下面还有许多分类,哺乳动物,爬行动物等等。哺乳动物还要再往下细分。一层一层的分级,咱们之前说的封装它是对一个对象的封装,对一个类的封装,比如说类它都有属性,方法。那类如果太多也得进行抽象 阅读全文
posted @ 2020-01-21 17:32 断浮 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 封装: 其实就是大家字面上所能看到的那种意思,把一个东西封装,装起来,只留一个口,只有那个口才能让别人拿到。比如看电视的时候,我们只需要拿遥控器换一下台就可以了,没有必要去了解电视机内部的构造,你也没有必要去碰那些显像管,那些制造的厂家为了我们方便的去使用电视,它就把内部非常复杂的一些细节,全部都给 阅读全文
posted @ 2020-01-21 17:30 断浮 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1.类与对象: 类是一个模板,对象是一个具体的实例 2.方法: 定义、调用 3.对应的引用 引用类型: 对象是通过引用来操作的:栈 >堆 基本类型:八种 4.属性:字段Field 成员变量 默认初始化: 数字: 0 0.0 char:u0000 boolean:false 引用: null 修饰符: 阅读全文
posted @ 2020-01-21 17:26 断浮 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1 package com.oop.demo03; 2 3 public class Pet { 4 public String name; 5 public int age; 6 7 //无参构造 8 9 public void shout() { 10 System.out.println("叫 阅读全文
posted @ 2020-01-21 17:25 断浮 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 构造器: 类中构造器也称为构造方法,是在进行创建对象的时候必须调用的,并且构造器有以下两个特点: 必须和类的名字相同 必须没有返回类型,也不能写void 作用: new 本质在调用构造方法 初始化对象的值 注意点: 定义有参构造之后,如果想使用无参构造,就必须显示定义无参构造。 生成构造器Alt+I 阅读全文
posted @ 2020-01-21 17:23 断浮 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 类与对象的关系: 类是一种抽象的数据类型,它是对某一类事物的整体描述/定义,但是并不能代表某一个具体的事物 动物、植物、手机、电脑......这些都是抽象概念。例如动物里面有猫狗主,植物里面有花草,手机里面有苹果,安卓,电脑里面有Linux、Windows的操作系统。这是真实生活中的样子。 放在类里 阅读全文
posted @ 2020-01-21 17:20 断浮 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 方法的定义: 修饰符:public 权限修饰符 static 静态的 返回值类型:void无返回值类型,四类八种,string,或者自定义的 break:结束整个循环,跳出switch;continue:结束本次循环; return:结束方法体,返回一个结果 方法名:注意规范,简明知意,就ok 参数 阅读全文
posted @ 2020-01-21 17:18 断浮 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么...... 面对过程适合处理一些较为简单的问题 面向对象思想: 物以类聚,分类的思维模式,思考问题首先会解决问题的需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类的细节进行面向过程的思索 面向对象适合处理复杂的问题,适合处理需要多 阅读全文
posted @ 2020-01-21 17:11 断浮 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 稀疏数组:它是一种数据结构。 需求:编写五子棋游戏,有存盘退出和续上盘的功能。 假设我们要用数组记录棋盘,我们可以将棋盘用0(格子),1(黑棋),2(白棋)代替。 分析问题:因为该二维数组的很多默认值都是0,因此记录了很多没有意义的数据。那么都是0的我们可以将其干掉。因此可以使用一种压缩算法,这样可 阅读全文
posted @ 2020-01-21 17:10 断浮 阅读(132) 评论(0) 推荐(0) 编辑