面向对象
文章平均质量分 65
蚂蚁牙黑147
这个作者很懒,什么都没留下…
展开
-
Java面向对象-自定义异常
Java面向对象-自定义异常自定义异常,只需继承Exception类即可在程序中使用自定义异常,大体可分为以下几个步骤:创建自定义异常类在方法中通过throw关键字抛出异常对象,如果采用throws这种方案,将来谁调用谁处理如果站在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续下一步操作。在出现异常方法的调用者中捕获并处理异常如图,我们自定义了一个异常类,然后在测试类中的test方法中th原创 2021-08-01 16:40:46 · 120 阅读 · 0 评论 -
Java面向对象-捕获和抛出异常
Java面向对象-捕获和抛出异常异常处理五个关键字:try:监控区域,检查try语句块里有没有异常,catch:想要捕获的异常类型,当程序出现错误时,catch捕获的异常刚好是这个异常,就会执行catch语句块里的代码,否则跳过finally:处理善后工作,不管程序有没有报异常,该语句块里的代码都会实现throw:一般在方法中实现,主动抛出异常throws:假设方法中,处理不了这个异常。方法上抛出异常捕获和抛出异常的好处一般程序报错后就会终止整个程序,但是当你捕获和抛出异常后,程序就会原创 2021-07-31 22:29:29 · 209 阅读 · 0 评论 -
Java面向对象-异常(Error和Exce)
Java面向对象-异常(Error和Exception)什么是异常(Exception)异常指程序运行中出现的不期而至的各种状况,如:文件找不到,网络连接失败,非法参数等异常发生在程序运行期间,它影响了正常的程序执行流程在编程中有很多代码在编译时不会报错,但程序一旦跑起来就会报各种各样的错简单分类检查性异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。运行时异常:运行原创 2021-07-31 21:54:10 · 185 阅读 · 0 评论 -
java面向对象-内部类
java面向对象-内部类内部类(了解即可)内部类就是在一个类中的内部再定义一个类,比如,A类中定义B类,那么B类相对于A类来说就称为内部类,而A类相对B类来说就是外部类了。1.静态内部类2.匿名内部类3.成员内部类4.局部内部类老样子,上图!怎样实例化内部类看图可以了解到,我们定义了一个Outer类,Outer类中又定义了一个Inner类,所以Inner类就是Outer类的内部类,我们知道实例化一个类是这样的: Outer outer = new Outer();那么怎么实例化Ou原创 2021-07-31 21:21:03 · 53 阅读 · 0 评论 -
java面向对象-接口
java面向对象-接口接口声明类的关键字时class,声明接口的关键字时interface接口的本质是契约,就像我们人间的法律一-样。制定好后大家都遵守。接口就是规范,定义的是一组规则,体现了现实世界中“如果你…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人。接口都需要有实现类,没有构造方法接口与其他的区别普遍类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范,无法写方法的实现~专业的约束! 约束和实现分离原创 2021-07-31 18:03:26 · 60 阅读 · 0 评论 -
Java面向对象-抽象类
Java面向对象-抽象类抽象类abstract修饰符可以用来修饰方法和类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类抽象类中可以写普遍方法抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类抽象类不能使用new关键字来创建对象,它是用来让子类继承的抽象方法只有方法的声明,没有方法的实现,它是用来让子类实现的抽象类中也有构造方法子类继承抽象类,那么必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类不多扯,代码实现解析:抽象方法是没有具体原创 2021-07-31 17:30:41 · 52 阅读 · 0 评论 -
Java面向对象-static关键字详解
Java面向对象-static关键字详解static静态是和类一起被加载的,是最先被加载的执行顺序:静态方法–>匿名方法–>构造方法在同一个类中,非静态方法可以调用静态方法的所有的东西在同一个类中,非静态方法可以调用静态方法的所有的东西通过上图,我们可以看到静态变量是可以通过类名.变量名来赋值的,而非静态变量不可以。这是因为static静态是和类一起被加载的,而非静态变量只能在实例化对象后才能赋值,静态方法与非静态方法也是如此static与实例化对象的执行顺序通过上图,原创 2021-07-31 17:05:53 · 109 阅读 · 0 评论 -
java面向对象-创建对象内存分析(jvm)
java面向对象-创建对象内存分析首先,我们先了解方法区,栈,堆都是干嘛的,有什么用?方法区(静态区):方法区是最先有数据的,因为类是最先被加载的它用来存储类信息、class对象、静态变量、字符串常量等等,被所有线程共享方法区实际也是堆栈每当方法被调用时,栈都会创建一个栈帧(存储局部变量、操作数、方法出口等)创建对象所需要的内存是由栈来分配的用于存放该线程执行方法的信息(实际参数,局部变量等)是线程私有的,不能实现线程之间的共享堆堆用来存储创建好的对象和数组(数组也是对原创 2021-07-31 16:31:35 · 744 阅读 · 1 评论 -
java面向对象-instanceof 和 类型转换
java面向对象-instanceof 和 类型转换instanceof可以判断两个类之间是否存在父子关系Person是父类,Student、Teacher都是它的子类,Object是所有类的父类,原创 2021-07-31 15:21:45 · 95 阅读 · 0 评论 -
java面向对象-多态
java面向对象-多态什么是多态?多种形态,多种状态,编译和运行有两个不同的状态编译期叫做静态绑定,运行期叫做动态绑定Animal a = new Cat();a.move();编译的时候编译器发现a的类型是Animal,所以编译器会去Animal类中找move方法,找到了,绑定,编译通过。但是运行的时候和底层堆内存当中的实际对象有关,真正执行的时候会自动调用“堆内存中真实对象(cat)”的相关方法。多态的典型代码:父类型的引用指向子类型的对象即同一方法可以根据发送对原创 2021-07-29 00:24:48 · 82 阅读 · 0 评论 -
java面向对象-重写
java面向对象-重写重写顾名思义就是重写父类的方法需要有继承关系方法名必须相同,参数列表必须相同,修饰符范围可以扩大,但不能缩小重写都是方法的重写,和属性无关只有非静态方法才可以实现方法的重写重写的方法的修饰符要是public(公共的),不能是private(私有的),私有的方法不能被重写为什么需要重写父类的功能太少,子类不一定满足父类的功能太多,子类不一定需要,只需要一点点,所以需要重写首先,我们来看两张图,第一张图是加了static的方法,第二张图没加,第一张图输出结果是原创 2021-07-27 22:48:38 · 116 阅读 · 0 评论 -
Java面向对象-super详解
Java面向对象-super详解super注意点super()调用父类的构造方法,必须在子类的构造方法中的第一个super只能出现再子类的方法和构造方法中super和this不能同时调用构造方法super与this的区别代表的对象不同this:本身调用者这个对象super:代表父类对象的引用前提this:没有继承也可以使用super:只能在继承条件下才可以使用构造方法:this():本类的构造super():父类的构造如图,Student类继承Person类,父类和子类原创 2021-07-27 22:14:32 · 187 阅读 · 0 评论 -
java面向对象-继承
java面向对象-继承什么是继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模extends的意思是“扩展”。子类是父类的扩展Java只有单继承,没有多继承!一个子类只有一个父类,父类可以有多个子类继承是类和类之间的一种关系,除此之外还有依赖、组合、聚合等继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示子类可以继承父类的所有东西在Java中,所有的类,都默认直接或者简介继承object类话不多说,上图!如图:Stu原创 2021-07-27 21:19:49 · 46 阅读 · 0 评论 -
java面向对象-封装详解
java面向对象-封装详解封装通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口/方法来访问,这称为信息隐藏将代码中的数据封装起来,对外提供一个小口,从外部去访问该露的露,该藏的藏:我们程序设计要追求“高内聚,低耦合”高内聚:类的内部数据操作细节自己完成,不允许外部低耦合:仅暴露少量的方法给外部使用记住这句话就够了:属性私有,get/set主要封装属性,方法用不了多少封装private(私有)通常我们可以使用引用变量名s1.name来引用name这个,但是现在不行了,原创 2021-07-27 18:30:55 · 105 阅读 · 0 评论 -
java面向对象-类与对象的关系
java面向对象-类与对象的关系类类是一种抽象的数据类型,它是对某一事物整体描述/定义,但是并不能代表某一个具体的事物,是一个模板如Person类、Pet类、Car类…Pet类里面有猫狗,Car类里面有轿车,货车,这些类都是用来描述/定义某一类具体的事物应该具备的特点(属性)和行为(方法)对象对象是抽象概念的具体实例张三就是人的一个具体实例,张 三家里的旺财就是狗的一个具体实例能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念创建与初始化对象使用new关键字创建对象原创 2021-07-27 17:48:38 · 111 阅读 · 0 评论 -
Java面向对象-回顾方法
#Java面向对象-回顾方法每一个类中都有一个核心方法(main方法)方法的定义:修饰符 返回值类型 方法名(参数){方法体return 返回值;}public static int test(int n){ if(n==1){ return 1; }else{ return n*test(n-1); }break和return的区别break:跳出swtich,结束循环return:结束方法,返回一个结果方法的调用静态方法与菲静态方原创 2021-07-25 23:15:56 · 70 阅读 · 0 评论 -
Java面向对象-什么是面向对象
Java面向对象-什么是面向对象面向对象与面向过程对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是具体到微观操作,仍然需要面向过程的思路去处理面向过程思想步骤清晰简单,第一步做什么,第二步做什么任务按顺序来实现,从上往下依次执行面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问原创 2021-07-25 22:01:35 · 169 阅读 · 0 评论