随笔分类 - java
java初学
摘要:多态 引入 先看一个问题 问题描述 : com.edu.poly_ : Poly01.java (polymorphic: 多态的) 请编写一个程序 ,Master类 中有一个feed(喂食)方法 ,可以完成 主人给动物喂食物的信息 分析 :首先要有三个类 ,分别是食物类 主人类 动物类 ,其次 食
阅读全文
摘要:方法重写/覆盖(override) 基本介绍 : 简单来说 ,方法覆盖(重写)就是子类有一个方法 ,和父类的某个方法的名称返回类型 ,参数一致 ,那么就可以说子类的这个方法 覆盖了父类的那个方法 入门 : //com.edu.override_ 包下的 Override01.java • 注意事项和
阅读全文
摘要:面向对象 - 继承 为什么需要继承 一个小问题 , 还是看个程序com.edu.extend_ 包: Extends01.java , 提出代码复用的问题. 我们编写了两个类,一个是 Pupil 类(小学生),一个是 Graduate(大学毕业生) 问题: 两个类的属性和方法有很多是相同的,怎么办
阅读全文
摘要:super 关键字 基本介绍 super 代表父类的引用,用于访问父类的属性、方法、构造器 基本语法 //com.edu.super_ 下 Super.java 访问父类的属性,但不能访问父类的private属性[案例] super.属性名; 访问父类的方法,不能访问父类的private方法 sup
阅读全文
摘要:项目 - 零钱通 项目开发流程说明 项目需求说明 使用 Java 开发 零钱通项目 , 可以完成收益入账,消费,查看明细,退出系统等功能 项目的界面 项目代码实现 编写文件 SmallChangeSys.java 完成基本功能 (过程编程) 先使用过程编程,后面改成 OOP 版本 项目代码实现改进
阅读全文
摘要:断点调试(debug) 一个实际需求 在开发中, 新手程序员在查找错误时, 这时老程序员就会温馨提示, 可以用断点调试, 一步一步的看源码执行的过程,从而发现错误所在。 重要提示 : 在断点调试 过程中,是运行状态,是以对象的 运行类型 来执行的 断点调试介绍 断点调试是指在程序的某一行设置一个断点
阅读全文
摘要:面向对象编程三大特征 封装 继承 和 多态 面向对象编程-封装 封装介绍 封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[即方法] ,才能对数据进行操作 举例 : 就好比我们日常使用的电视机 ,电视机
阅读全文
摘要:包 ● 包的三大作用 区分相同名字的类 当类很多时,可以很好的管理类 [看JavaAPI 文档] 控制访问范围 我们可以找到JDK安装的目录 ,从中找到src 也就是存放源码的目录 ,在里面可以看到util ,进入就可以看到util包中含有的类 包基本语法 package com.hspedu; 说
阅读全文
摘要:访问修饰符 ●基本介绍 java提供四种访问控制修饰符号, 控制方法和属性(成员变量)的访问权限 (范围) : 公开级别: 用public 修饰,对外公开 受保护级别: 用protected修饰, 对子类和同一个包中的类公开 默认级别: 没有修饰符号,向同一个包的类公开. 私有级别: 用privat
阅读全文
摘要:作业练习 编写类A01,定义方法max,实现求某个double数组的最大值,并返回 Homework01.java 编写类A02,定义方法find,实现查找某字符串数组中的元素查找,并返回索引, 如果找不到,返回 -1 Homework02.java 编写类Book,定义方法updatePrice,
阅读全文
摘要:this关键字 先看一段代码,并分析问题 This01.java public class This { public static void main(String[] args) { Dog01 dog1 = new Dog01("brave",3); dog1.info(); }}class
阅读全文
摘要:在IDEA中查看JDK的源码 一般来说IDEA配置好JDK以后 ,jdk的源码其实也配置好了 如果没有的话找到这个位置 FIle -> Project ->SDKs -> Sourcepath ,找到右侧的加号 选中JDK主目录下的两个source文件 在需要查看某个方法源码时 ,将光标放在该方法
阅读全文
摘要:IDE(集成开发环境)-IDEA ● IDEA介绍 IDEA 全称 IntelliJ IDEA 在业界被公认为最好的Java开发工具 IDEA是JetBrains公司的产品,总部位于捷克的首都布拉格 除了支持Java开发,还支持HTML,CSS,PHP,MySQL,python ● Eclipse介
阅读全文
摘要:构造方法/构造器 我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给 他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接指定这个 对象的年龄和姓名,该怎么做?这时就可以使用构造器。 基本语法 [修饰符] 方法名 (形参列表){//这里的方法名就是构造器的名字
阅读全文
摘要:作用域 ● 基本使用 面向对象中,变量作用域是非常重要知识点,相对来说不是特别好理解,请大家注意听,认真思考,要求深刻掌握变量作用域。 Scope01.java 1.在java编程中,主要的变量就是属性(成员变量)和局部变量。 2.我们说的局部变量一般是指在成员方法中定义的变量。【举例Cat类:cr
阅读全文
摘要:递归解决八皇后问题 √八皇后问题说明 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。 该问题是国际西洋祺棋手马克斯贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击 即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 √八皇后思路分析 1)第
阅读全文
摘要:方法重载(OverLoad) 基本介绍 java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致! 比如:System.out.printIn(100) out是PrintStream类型 假如没有方法重载的话, 就会出现printchar printint的打印方式 ,根据类型进行都要打
阅读全文
摘要:可变参数 ·基本概念 jva允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。 这里就可以通过可变参数实现 基本语法 访问修饰符 返回类型 方法名(数据类型 … 形参名){ } 快速入门案例 VarParametert01.java 看一个案例类HspMethod, 方法sum p
阅读全文
摘要:方法递归调用 基本介绍 简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量递归有助于编程者解决 复杂问题,同时可以让代码变得简洁 pubilc void f1(){ f1();}//方法f1还是方法f1,也就表示一直调用同一个方法 · 递归能解决什么问题? 各种数学问题如:8皇后问题,汉诺
阅读全文
摘要:递归调用应用实例-汉诺塔 √汉诺塔传说 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根
阅读全文