延续 Java基础 项目实例--Bank项目4 实验要求 实验题目 5: 在银行项目中创建 Account 的两个子类:SavingAccount 和 CheckingAccount 实验目的: 继承.多态.方法的重写. 提 示: 创建 Account 类的两个子类:SavingAccount 和 CheckingAccount 子类 a. 修改 Account 类:将 balance 属性的访问方式改为 protected b. 创建 SavingAccount 类,该类继承 Account…
总结: customer.setAccount(account); //引用,日后的account 和 customer.getAccount()的结果始终一致 实验目的 扩展银行项目,添加一个 Customer 类.Customer 类将包含一个 Account对 象. 实验目的: 使用引用类型的成员变量. 提 示: 1. 在banking包下的创建Customer类.该类必须实现上面的UML图表中的模 型. a. 声明三个私有对象属性:firstName.lastName 和 account…
(上图Wie任务要求的UML结构) Account.java 文件: package Banking_1; public class Account { private double balance;//余额 ,uml前该变量是 '-' public Account(double init_balance){ balance=init_balance; } public double getBalance() { return balance; } //存钱 public void deposi…
在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个问题: 如果不看<阿里巴巴Java开发手册>,如何知道 Integer var = ? 会缓存 -128 到 127 之间的赋值? 为什么会缓存这个范围的赋值? 如何学习和分析类似的问题? Integer 缓存问题分析 先看下面的示例代码,并思考该段代码的输出结果: public class In…
基于上一个实验Banking_5 ,代码先全部复制过来. 笔记心得: 1.SavingAccount() 需要两种构造方法,接受单个参数和两个的 2.Account 有两个类型 SavingAccount 和 CheckingAccount ,每个人都有两个或一个 , setAccount(Account account,int id) ,id=1 表示设置前者, id=2表示设置后者. 3.在 public class CustomerReport{}中 ,首先调用static Bank :…
实现一个基于文本界面的<家庭记账软件> 需求:能够记录家庭的收入,支出,并能够收支明细表 主要涉及一下知识点: - 局部变量和基本数据类型 - 循环语句 - 分支语句 - 方法调用和返回值的接受 - 简单的屏幕输出格式 工具类介绍 将不同的功能封装为方法,就可以直接通过调用的方法使用它的功能,而无需考虑具体的功能实现.在Utility.java类中提供了以下静态方法: FamilyAccount.java类代码实现 public class FamilyAccount { public sta…
final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢?要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. final的特点 final修饰类不可以被继承,但是可以继承其他类. class Yy {} final clas…
Class对象可以获取类里的方法,由Method对象表示,调用Method的invoke可以执行对应的方法:可以获取构造器,由Constructor对象表示,调用Constructor对象的newInstance方法可以执行类对应的构造方法:可以获取成员变量,由Field对象表示,通过Field对象可以直接修改类的成员变量的访问权限和值. 创建对象 通过反射有两种方式创建对象 使用Class对象的newInstance(),这是最常用的方式,根据配置文件信息创建对象. 使用Class对象获取指定…
多线程 一.线程的概念 1.1 程序.进程.线程 程序:Program 是一个静态的概念 进程:Process 是一个动态的概念 进程是程序的一次动态执行过程,占用特定的地址空间. 每个进程都是独立的,由三部分组成cpu,data,code 缺点:内存的浪费,cpu的负担 线程:Thread,是进程中一个“单一的连续控制流程”/执行路径                线程又被称为轻量级进程 所有线程都是并发运行的,并且彼此独立 一个进程可拥有多个并发的线程 一个进程中的线程共同分享相同的内存单元…
a.累加求和思想:求1~100的和,求数组/集合中元素的和,求偶数的数,求总分 int sum=0//循环外部定义sum变量,循环里面对每个元素累加 for (; ; ) { //sum+=数据 } System.out.println(sum); b.计数器思想:折纸次数,水仙花个数 int count=0; for (; ; ) {//这只是个结构 //满足某些条件 count++ } System.out.println(count); c.拆解逻辑思想:把大问题拆成小问题,每个小问题考虑…
继承 在java中可以通过继承提高代码的复用率. 例如A继承了B,就可以是 例如,首先有一个类似Person,这个类中有有一些属性和方法,我们再新建一个Student类,其中有一部分属性和方法与Person类中的相同,这个我们就可以通过继承来提高代码复用率. package cn.hcf.pro3; public class TestExtends{ public static void main(String[] args){ Student stu = new Student(); //St…
继承: 1.继承是对某一匹类的抽象,从而实现对现实世界更好的建模. 2.提高代码的复用性. 3.extends(扩展),子类是父类的扩展. 4.子类继承父类可以得到父类的全部属性和方法.(除了父类的构造方法). 5.java中只有单继承,没有像c++这种的多继承.多继承就是为了实现代码的复用性,但引入了复杂性,使系统之间的关系造成混乱. 6.java中的多继承,可以通过接口来实现. 7.如果定义一个类时,没有调用extends,则默认定义的父类是:Java.lang.Object. 8.不同的的…
贪吃蛇项目 import java.awt.Color; import java.awt.Graphics; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListen…
控制台程序. java.util.Scanner类定义的对象使用正则表达式来扫描来自各种源的字符输入,并把输入显示为各种基本类型的一系列标记或者显示为字符串. 默认情况下,Scanner对象读取标记时,假定它们用空白分隔开.对于空白对应的任意字符,Character类中的isWhitespace()方法都返回true.因此,读取标记时,要跳过分隔符,找到不是分隔符的字符,然后尝试以要求的方式解释那些不是分隔符的字符序列. import java.util.Scanner; import java…
1. Date类概述 类Date表示特定的瞬间,精确到毫秒 2. 构造方法 public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创建日期对象 3. 成员方法 public long getTime() public void setTime(long time) 4. 代码示例: package cn.itcast_01; import java.util.Date; /* * Date:表示特定的瞬间,精确到毫秒. * *…
1. exit方法: public static void exit(int status): 终止当前正在运行的Java虚拟机.参数用作状态码:根据惯例,非0的状态码表示异常终止. 调用System.exit(n)实际等效于调用:Runtime.getRuntime().exit(n) 2. currentTimeMillis方法: public static long currentTimeMillis() 返回以毫秒为单位的当前时间. (1)currentTimeMillis方法的特殊用途…
正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号来表示一些代码操作,这样就简化书写,主要是学习一些特殊符号的使用 好处:可以简化对字符串的复杂操作. 弊端:符号定义越多,正则越长,阅读性越差 具体操作: 1.匹配:String matches方法 用规则匹配所有的字符串,只要有一个不符合,则匹配结束. 2.切割:String sqlit(); 3.替换:replaceAll(); 4.获取:将字符串中的符合规则的子串取出. 操作步骤: 首先,将正则表大式封装成…
1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.在对这个文字进行操作.简单说:字节流+编码表字节流的两个顶层父类:1,InputStream 2,OutputStream.字符流的两个顶层父类:1,Reader 2,Writer String filePath = "F:\\demo.txt"; FileWriter f…
1 类和对象 类:是一类事物的描述,抽象的.猫 对象:是一类事物的实例,具体的.某只猫 2 类的定义 成员变量和成员方法 //定义一个学生类 public class Student { //成员变量 String name; int age; //成员方法,不要写static关键字 public void eat(){ System.out.println("吃饭"); } public void study(){ System.out.println("学习")…
1.JavaScript中的事件注册 1.1.事件的注册方式 方式1:直接在html元素上注册 <body onLoad="ready()"></body > function read(){ alert("body元素被加载进来"); } 方式2:可以在js代码向找到对应的对象注册.推荐使用 实例 <!doctype html> <html> <head> <meta charset="u…
线程的通讯:一个线程完成了自己的任务时,要通知另一个线程去完成另一个任务 1.1.方法 wait():等待.如果线程执行到了wait()方法,那么该线程会进入等待状态,等待状态下的线程必须要被其他线程调用notify()方法才能唤醒.  notify():唤醒.唤醒线程池等待的其中一条线程  notifyAll():唤醒线程池中所等待的线程 1.2.wait与notyify的方法注意的事项 1. wait方法与notify方法是属于Object对象的    2.wait与notify方法必须要在…
package com.test2; public class demo2 { public static void main(String[] args) { /** * 一维数组使用 */ //数组最大的缺陷:长度固定 //int data[] = {10, 20, 30}; /*开辟了一个长度为3的数组*/ //int[] arr3 = new int[]{1, 2, 3, 4, 5, 6, 7, 22}; int[] data = new int[3]; data[0] = 10; da…
初识面向对象 面向对象 & 面向过程 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么..... 面向过程适合处理一些较为简单的问题 面向对象思想 ​ 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考.最后,才对某个分类下的细节进行面向过程的思索. 面向对象适合处理复杂的问题,适合处理需要多人协作的问题! 对于描述复杂的事物,为了从宏观上把握.从整体上合理分析,我们需要使用面向对象的思路来分析整个系统.但是,具体到微观操作,仍然需要面向过程的思路去处…
原创文章.转载请注明. 阅读本文之前,您须要对浏览器怎样载入javascript有一定了解. 当然,对java与javascript本身也须要了解. 本文首先介绍浏览器载入并执行javascript的原理. 其次将介绍怎样用java与javascript互调用对象. 最后介绍怎样用java实现javascript的document对象与其他内置方法. 浏览器从server得到含有javascript代码的html文本后,将顺序运行javascript代码块. 看代码是最简单的方式: packag…
1.继承就是基于已存在的类构造一个新类,继承已存在的类就能复用类的方法和属性,并且能够添加新的方法和属性.也就是子类和父类 2.一个父类可以拥有多个子类,一个子类只允许有一个父类 3.用extends关键字表示一个类继承自另一个类 1 class A{ } //父类或基类 2 class B extends A { } //B是A的子类 3 class C extends B { } //C是B的子类,可以直接复用A的属性和方法 4.一切类的祖先是Object类 5.如果子类中的一个方法,其名称…
/** * * 写一个查询Customer对象的方法 * */ public Customer getCustomer(String sql, Object... args) { Customer customer = null; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JDBCTools.getConnection(); ps = conn.prepareSta…
面向对象程序设计(Java基础) 1.项目介绍: 该项目能够实现对电话薄的添加,查找,修改,删除,排序等基本操作. 用户进入系统中首先进入主菜单中,在主菜单中可以选择相应的操作,用户可以选择每项操作前的序号即可进入到相应操作的子菜单,在子菜单中也可以选择相应的操作. 2.项目设计规划 该项目的实现主要依靠五个类来实现: 1.App对应Application(程序入口方法)主类,创建Menu类的对象,并调用Menu类的方法: 2.Menu对应Menu(菜单类):定义多个方法,显示各种操作对应的菜单…
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之数组.方法 Java基础学习笔记五 Java基础语法之类和ArrayList Java基础学习笔记六 Java基础语法之面向对象 Java基础学习笔记七 Java基础语法之继承和抽象类 Java基础学习笔记八 Java基础语法之接口 Java基础学习笔记九 Java基础语法之this和super J…
3.Java基础[基于IDEA] 3.1.快捷键 psvm 创建主方法 sout 打印 ctrl+d 复制当前行到下一行 alt+ender 创建局部变量,类: 3.2.注释,标识符,关键字 注释 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了. 注释并不会被执行,是给我们写代码的人看的 书写注释是一个非常好的习惯 Java中的注释有三种: //单行注释 /* 多行注释 */ /** 文 档注释 */ 标识符 所有的标识符都应该以…