Java再入
真正以OOP的角度看待Java,SP对比
snakeZix
师大一码农
展开
-
Java再入:09 在对象方法上进行抽象和约束的abstract和interface
09 在对象方法上进行抽象和约束的abstract和interface这一节要将的自然是抽象类和接口,但我们不仅将怎么用,还要讲为什么要这么用重写缺乏约束,父类无法知道子类是否重写,即使它并没有改变父类的行为,但程序员对子类的期望无法绝对的实现在子类上。因此需要对方法的重写进行约束虽然类是对对象的抽象而得到的模型,但是无法对类进行一个比较规范的编写和声明,无法对类的特性进行重用 => abstract 和 interface 解决了这一问题根据上面两点我们归纳出两个词:契约、规范一、原创 2020-12-16 13:00:00 · 138 阅读 · 0 评论 -
Java再入:06 - Object.equals方法
06 Object.equals方法PS:本节是对上一节的一些补充,比如常量池是啥,什么是构造函数一、equals 和 ==Java 中方法区与常量池在 JDK6.0 及之前版本,字符串常量池是放在 Perm Gen 区(也就是方法区)中,此时常量池中存储的是对象。在 JDK7.0 版本,字符串常量池被移到了堆中了。此时常量池存储的就是引用了。在 JDK8.0 中,永久代(方法区)被元空间取代了。java提供两种判断相等的方式:equals==Object.equals默认是 =原创 2020-12-16 00:50:25 · 80 阅读 · 0 评论 -
Java再入:07 - 修饰词
08 修饰词访问控制注意什么叫做同一包内 (看包路径) , 子类可以和父类不在同一包内,可见性是类可见还是实例可见?DEFAULT (默认 -> 不写)(在非接口对象中, 不声明 权限修饰符 默认就是 public, 而接口成员变量默认 public static final ,方法是public)PUBKIC 公有 => 类 / 接口 / 变量 / 方法public 对象 为主对象public成员 可以被所有类访问public 方法和成员 都会被其子类继承PROTEC原创 2020-12-15 10:13:13 · 69 阅读 · 0 评论 -
Java再入:08 - 对象的多态
07 对象的多态方法函数签名方法的访问权限、返回类型、名字和参数列表称为方法的签名重载 Overload在一个类中,可以有多个同名的方法,但是要保证参数类型,数目不相同,否则会产生编译错误注意参数列表一定要不同 => 参数数量、参数类型、参数顺序被重载的方法必须改变参数列表;被重载的方法可以改变返回类型 ,但是无法以返回值类型作为重载函数的区分标准。被重载的方法可以改变访问修饰符,同上;被重载的方法可以声明新的或更广的检查异常;方法能够在同一个类中或者在一个子类中被重载。原创 2020-12-15 10:04:53 · 81 阅读 · 0 评论 -
Java再入:05 - 类和对象的创建
05 类和对象的创建在Java的世界里,必须先有类,才能有对象,这视乎和设计模式有关,如果你有玩过JavaScript,你就会发现其中的明显的区别一、内存模式参考文章:内存中的堆和栈到底是什么 从汇编层面分析,栈和堆内存的情况,但是还是没有说为什么需要栈和堆JVM调优总结 其中一部分解释了关于为什么需要堆栈现代高级语言基本都是分为含有下列部分:静态存储区域:是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释原创 2020-12-14 15:32:27 · 160 阅读 · 0 评论 -
Java再入:04 - OOP面向对象设计 VS SP结构化程序设计
04 OOP面向对象设计 VS SP结构化程序设计(1) SP- 核心思想将问题的求解看作功能的处理,程序是功能的具体体现(比如设计一个算法,输入输出)。即对输入数据实施相关运算,将得到预期的结果- 优缺点优势:以功能为核心构建系统,目标明确,方法简便易行自定向下逐步求精的有效的开发策略劣势:以功能为核心的构建方式 => 稳定性差(添加功能繁琐),数据分散不清晰,有限的可重用性开发和用户语义鸿沟(2) OOP- 核心思想以数据为核心来实现功能,数据比功能更原创 2020-12-14 00:13:34 · 460 阅读 · 1 评论 -
Java再入:03 - 基本输入输出设备
03 基本输入输出设备输入 Scanner 对象import java.util.*; // import java.util.Scanner; //导入包//具体代码String name;Scanner in = new Scanner(System.in) // 传入输入设备System.out.print("What's your name?");name = in.nextLine();//输入整型数据System.out.print("your name is " + name原创 2020-12-14 00:12:32 · 142 阅读 · 0 评论 -
Java再入:02 - Java语言的基本成分
02 Java语言的基本成分默认大家都有C语言基础,所以一些东西只是简单的提一下,甚至忽略基本成分:字符集词法元素标识符和关键字运算符、限届符和分隔符字面量注释数据类型什么是数据类型数据类型的含义预定义数据类型数据类型的实例Java类型系统的概述Java的基本数据类型表达式含义计算过程中的类型转换类型兼容赋值自动类型转换表达式的运算顺序语句子程序一、数据类型(1) 数据类型定义类型名取值范围操作集合(2) 数原创 2020-12-14 00:11:30 · 133 阅读 · 0 评论 -
Java再入:01 - Java的环境搭建
Java入门一、JDK,JRE,SDK1. SDKSDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。而SDK是辅助开发某一类软件的相关文档、范例和工具的集合。2. JDKJDK是Java Development Kit的缩写,中文意思是“Java开发原创 2020-12-14 00:10:35 · 78 阅读 · 0 评论