java扫盲
文章平均质量分 73
更深刻的认识java
huaishitou
这个作者很懒,什么都没留下…
展开
-
【java扫盲】基础!Java中各类修饰符的使用总结(看完这篇就够了)
引言:Java的修饰符根据修饰的对象不同,分为:类修饰符、方法修饰符、变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。目录一、 类修饰符二、方法修饰符三、变量修饰符一、 类修饰符1.访问修饰符:公共类修饰符public 公共类修饰符 public : Java 语言中类的访问控制符只有 publ...转载 2021-10-13 17:21:08 · 160 阅读 · 0 评论 -
【java扫盲】JAVA中的“抽象接口”,概念及其作用,附代码讲解
在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接口的子类并不需要实现接口中的全部方法,也就是说,接口中的方法过多,对于某些子类是多余的,我们不得不浪费的写上一个空的实现。 今天小菜提到的“抽象接口”,就是用来解决这个问题的。 为了不误导读者,先说明一下,什么是“抽象接口”。 所谓“抽象接口”,即在提供接口的同时,提供一个抽象类,用抽象类实现该接口(实际上这是缺省适配模式)。 下面小菜举个例子,让读者体会这样做的好处。...原创 2021-10-13 16:39:16 · 469 阅读 · 0 评论 -
【经典java扫盲】深入理解Java的接口和抽象类
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激。一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而转载 2021-10-13 15:53:13 · 95 阅读 · 0 评论 -
抽象类必须有抽象方法吗?答:不是,但如果一个抽象类不包含任何抽象方法,为何还要设计为抽象类
下面要注意一个问题:在《JAVA编程思想》一书中,将抽象类定义为“包含抽象方法的类”,但是后面发现如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类。也就是说抽象类不一定必须含有抽象方法。个人觉得这个属于钻牛角尖的问题吧,因为如果一个抽象类不包含任何抽象方法,为何还要设计为抽象类?所以暂且记住这个概念吧,不必去深究为什么。我们都知道,有抽象方法的类是抽象类,反过来说,抽象类都有抽象方法吗? 其实这个问题非常明白,用abstract修饰的类就是抽象类,并不是说抽象类中必须有抽象..原创 2021-10-13 15:49:42 · 1671 阅读 · 0 评论 -
【java扫盲】抽象类和接口--对比--使用
1.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用 。面对对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用。说到了抽象,我就不能不提到曾让我头痛的Java接口和Java抽象类了,这也是本文我想说的重点。既然面向对象设计的重点在于抽象原创 2021-10-13 15:38:57 · 204 阅读 · 0 评论 -
【java扫盲】一个“.java“源文件中 只能有一个public类吗,一个“.java“源文件中是否可以包括多个类(不是内部类)?
最近在一个java文件中实现了几个类,其中一个声明为public类型,但编译器报错;后来将public去掉,也即文件中没有一个public类,程序正常运行,有些困惑,最后通过本文章找到答案,为以后方便查找在阅读JDK源码时可能会看到在一个public class中“居然”存在另一个public class,似乎跟学习java时提到的“同一个源程序中只能有一个public类”有点矛盾。其实不然,一张图足以完全说明:补充:问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限原创 2021-10-13 14:00:05 · 4840 阅读 · 1 评论 -
【java扫盲】Java中的单继承和多继承
多继承的优缺点优点:对象可以调用多个父类中的方法缺点:如果派生类所继承的多个父类有相同的父类(也就是一个菱形继承结构),而派生类对象需要调用这个祖先类的方法,就会容易出现二义性。1、java 与 C++ 的不同点在于多继承。Java:不能多继承,只能单继承,但可以实现多个接口C++:可以实现多继承。例如: class A extends B implements C,D,E {}2、如若写成 interface A extends B,C,D 可以编译通过,这样是不是违背了原创 2021-10-13 14:51:20 · 1351 阅读 · 0 评论