自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 异常——Exception

基本概念Java中,将程序执行中发生的不正常情况称为“异常”。(语法措施和逻辑措施不是异常行为)异常体系图1.异常分为两大类,运行异常和编译异常2.运行时异常,编译器通常检查不出来。一般是指编程时的逻辑错误,是程序员应该避免其出现的异常。3.对于运行时异常,可以不作处理,因为这类异常很普通,若全处理可能会对程序的可读性和运行效率产生影响4.编译时异常,是编译器要求必须处置的异常。运行异常常见的运行时异常1.NullPointerException空指针异常2.ArithmeticE

2022-03-17 19:15:32 105

原创 枚举、注解

枚举(enumeration,简写enum)1.枚举是一组常量的集合2.可以这样理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象实现方式:1.自定义类实现枚举2.使用enum关键字实现枚举一、自定义类实现枚举1.不需要提供setXXX方法,因为枚举对象只通常为只读;2.对枚举对象/属性使用 final + static 共同修饰, 实现底层优化;3.枚举对象名通常使用全部大写,常量的命名规范;4.枚举对象根据需要,也可以有多个属性public class Enumeratio

2022-03-16 21:05:21 223

原创 面对对象编程(高级)——内部类

基本介绍一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。是我们类的第五大成员【属性、方法、构造器、代码块、内部类】。内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系。注意:内部类是学习的难点,同时也是重点,后面看底层源码时,有大量的内部类。基本语法class Outer { //外部类 class Inner { //内部类 }}class Other{}class O

2021-11-03 20:08:36 97

原创 面对对象编程(高级)——接口

基本介绍接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。//语法interface 接口名 { //属性 //方法}class 类名 implements 接口 { 自己属性; 自己方法; 必须实现的接口的抽象方法}小结:接口是更加抽象的抽象的类,抽象类里的方法可以有方法体1.在Jdk7.0前,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想2.Jdk8.0后接口类可以有静态方法,默认方法,也就是

2021-11-02 21:04:25 83

原创 面对对象编程(高级)——抽象类

父类方法的不确定性小结:当父类的某些方法,需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类//即:父类方法不确定性的问题//====>考虑将该方法设计为抽象(abstract)方法//====>所谓抽象方法就是没有实现的方法//====>所谓没有实现就是指,没有方法体//====>当一个类中存在抽象方法时,需要将该类声明为abstract类//====>一般来说,抽象类会被继承,有其子类来实现抽象方法快速入门当父类的一些方法不能

2021-10-29 17:32:28 106

原创 面对对象编程(高级)——final关键字

基本介绍

2021-10-28 23:50:02 85

原创 面对对象编程(高级)——代码块

基本介绍代码块又称为初始化块,属于类中的成员[即 是类的一部分],类似于方法,讲逻辑语句封装在方法体中,通过{}包围起来。但是和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显示调用,而是加载类时,或创建对象时隐式调用。基本语法[修饰符] {代码 };注意:(1)修饰符可选,要写的话,也只能写static(2)代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的,叫普通代码块/非静态代码块。(3)逻辑语句可以为任何逻辑语句(输

2021-10-28 22:30:58 83

原创 面对对象编程(高级)——理解main方法语法

深入理解main方法解释main方法的形式: public static void main(String[] args) {}1.main方法是虚拟机调用2.java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public3.java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static4.该方法接受String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数5.java 执行的程序 参数1参数2参数3特别提示:(1)在main方

2021-10-28 16:05:31 78

原创 面对对象编程(高级)——类(静态)变量和类(静态)方法

静态变量的内存布局1.静态变量被对象共享2.因此不影响对静态变量的使用Jdk8以前一般认为在方法区里,Jdk8之后在堆里面的这个类对应的class实例的尾部记住:static变量是对象共享;不管static在哪里,共识(1)static变量是同一个类所有对象共享(2)static类变量,在类加载的时候就生成了。什么是类变量类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。这个从前面

2021-10-27 22:53:02 118

原创 面对对象编程——多态

代码复用性不高,而且不利于维护解决方案:引出多态多态(多种状态)基本介绍方法或对象具有多种形态。是面对对象的第三大特征,多态是建立在封装和继承基础之上的。多态的具体体现1.方法的多态A a = new A();//方法的重载体现多态 System.out.println(a.sum(10, 20));System.out.println(a.sun(10, 30, 50));B b = new B(); // A extends B 方法的重写体现多态System.out.printl

2021-10-12 12:02:38 69

原创 面对对象编程——继承

继承基本介绍和示意图继承可以解决代码复用,让我们的编程更加靠近人类的思维。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法只需要通过extends来声明继承父类即可。继承的基本语法class 子类 extends 父类 {}//1)子类就会自动拥有父类定义的属性和方法;//2)父类又叫超类、基类;//3)子类又叫派生类;继承的深入讨论/细节问题1.子类继承了所有的属性和方法,非私有的属性和方法可

2021-10-11 01:02:46 85

原创 面对对象编程——封装

1.封装的实现方法1)将属性进行私有化private2)提供一个公共的set方法,用于对属性判断并赋值;3)提供一个公共的get方法,用于获取属性的值;2.使用有参构造器可以“绕开”set方法“防护的机制”;class Person { ... public Person (String name, int age, double salary){ this.name = name; this.age = age; this.salary = salary; }}3.可以将

2021-10-10 21:53:52 60

原创 图——例题3

分别采用基于深度优先遍历和广度优先遍历算法判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i!=j)。注意,算法中设计的图的基本操作必须在此存储结构上实现。对于两个不同的遍历算法,都是采用从顶点vi出发,依次遍历图中每个顶点,直到搜索到顶点vj,如果能够搜索到vj,则说明存在由顶点vi到vj的路径。//深度优先遍历算法int visited[MAXSIZE]={0};...

2019-11-20 23:01:53 486

原创 图——例题2

写出图的深度优先搜索DFS算法的非递归算法(图采用邻接表形式)。在深度优先搜索的非递归算法中使用了一个栈S,记忆下一步可能访问的顶点,同时使用了一个访问数据visited[i],在visited[i]中记忆第i个顶点是否在桟内或曾经在桟内。若是,以后它不能再进栈。void DFS_Non_RC(AGraph& G, int v){ int w; InitStack(S); ...

2019-11-20 22:30:21 234

原创 图——例题1

1.试设计一个算法,判断一个无向图G是否为一棵树。若是一棵树,则算法返回TRUE,否则则返回FALSE.一个无向图G是一棵树的条件是:G必须是无回路的连通图或者是有n-1条边的连通图。这里采用后者作为判断条件。对连通图的判定,可用能否遍历全部顶点来实现。可以采用深度优先搜索算法在遍历图的过程中统计可能访问到的顶点个数和边的条数,如果一次遍历就能访问到n个顶点和n-1条边,则可判定此图是一棵树。...

2019-11-20 22:13:39 823

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除