1.超类和子类的设计;
2.建立继承层次;
3.覆盖方法。

程序StringLister:使用数组列表和特殊的for循环将一系列字符串按字母顺序显示到屏幕上。这些字符串来自一个数组和命令行参数

 package com.jsample;

 import java.util.*;

 public class StringLister {
String[] names = { "Spanky", "Buckwheat", "Daria",
"Stymie", "Marianne", "Scotty", "Tommy", "Chubby" }; public StringLister(String[] moreNames){
Vector<String> list = new Vector<String>();
for (int i = 0; i < moreNames.length; i++){
list.add(moreNames[i]);
}
Collections.sort(list);
for (String name : list){
System.out.println(name);
}
} public static void main(String[] args){
StringLister lister = new StringLister(args);
}
}

输出:

Buckwheat
Chubby
Daria
Marianne
Scotty
Spanky
Stymie
Tommy

程序PointTester:使用Point,Point3D,Point4D对象的程序,并在屏幕上移动它们。

 package com.jsample;

 import java.awt.*;

 public class PointTester {
public static void main(String[] args){
Point objcet1 = new Point(11,22);
Point3D object2 = new Point3D(7,6,64);
Point4D object3 = new Point4D(12,56,73,90); System.out.println("The 2D point is located at (" + objcet1.x
+ ", " + objcet1.y + ")");
System.out.println("\tIt's being moved to (4,13)");
objcet1.move(4,13);
System.out.println("The 2D point is now at (" + objcet1.x
+ ", " + objcet1.y + ")");
System.out.println("\tIt's being moved -10 units on the x "
+ "and y axes");
objcet1.translate(-10,-10);
System.out.println("The 2D point ends up at (" + objcet1.x
+ ", " + objcet1.y + ")\n"); System.out.println("The 3D point is located at (" + object2.x
+ ", " + object2.y + ", " + object2.z + ")");
System.out.println("\tIt's being moved to (10, 22, 71)");
object2.move(10,22,71);
System.out.println("The 3D point is now at (" + object2.x
+ ", " + object2.y + ", " + object2.z +")");
System.out.println("\tIt's being moved -20 units on the x,y "
+ "and z axes");
object2.move(-20,-20,-20);
System.out.println("The 3D point ends up at (" + object2.x
+ ", " + object2.y + ", " + object2.z + ")\n"); System.out.println("The 4D point is located at (" + object3.x
+ ", " + object3.y + ", " + object3.z + ", " + object3.t + ")");
System.out.println("\tIt's being moved to (9, 1, 7, 4)");
object3.move(9,1,7,4);
System.out.println("The 4D point is now at (" + object3.x
+ ", " + object3.y + ", " + object3.z + ", " + object3.t + ")");
System.out.println("\tIt's being moved 20 units on the x,y "
+ "and z axes");
object3.move(20,20,20,20);
System.out.println("The 4D point ends up at (" + object3.x
+ ", " + object3.y + ", " + object3.z + ", " + object3.t + ")");
}
}

下属class:

Point——java.awt.*中自带。

Point3D:记录对象三维坐标,将对象移到新坐标处,将三个坐标各移动特定距离。

 package com.jsample;

 import java.awt.*;

 public class Point3D extends Point{
public int z; public Point3D(int x, int y, int z){
super(x,y);
this.z=z;
} public void move(int x, int y, int z){
this.z += z;
super.translate(x,y);
}
}

Point4D:记录对象四维坐标,将对象移到新坐标处,将四个坐标各移动特定距离。

 package com.jsample;

 public class Point4D extends Point3D{
public int t; public Point4D(int x, int y, int z, int t){
super(x,y,z);
if (t < 0)
return;
this.t = t;
} public void move(int x, int y, int z, int t){
this.z += z;
this.t += t;
super.translate(x,y);
}
}

输出:

The 2D point is located at (11, 22)
 It's being moved to (4,13)
The 2D point is now at (4, 13)
 It's being moved -10 units on the x and y axes
The 2D point ends up at (-6, 3)

The 3D point is located at (7, 6, 64)
 It's being moved to (10, 22, 71)
The 3D point is now at (17, 28, 135)
 It's being moved -20 units on the x,y and z axes
The 3D point ends up at (-3, 8, 115)

The 4D point is located at (12, 56, 73, 90)
 It's being moved to (9, 1, 7, 4)
The 4D point is now at (21, 57, 80, 94)
 It's being moved 20 units on the x,y and z axes
The 4D point ends up at (41, 77, 100, 114)

从零自学Java-10.充分利用现有对象的更多相关文章

  1. 从零自学Hadoop(10):Hadoop1.x与Hadoop2.x

    阅读目录 序 里程碑 Hadoop1.x与Hadoop2.x 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的 ...

  2. 从零自学Hadoop系列索引

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...

  3. 作为一个零基础的新手,如何系统的自学Java和JavaEE开发技术?

    其实这个问题很简单,我用最简单的语言给大家描述一下,学习一样东西就要了解这样东西学完了要干什么事情,有什么作用.然后就是应该学习哪些必要的内容,该如何运用得当的方法进行有效率的学习不至于自己摸不着头脑 ...

  4. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...

  5. 零基础如何自学java开发?

    开篇直奔主题,java 学习个人感觉分为两种途径,第一种是在学校,在培训机构等地方学习. 有人指导:第二种是自学,通过视频,书籍,朋友等完成学习. 本文适合 自学,且基础薄弱或者无基础的人.先介绍下我 ...

  6. 全套Java教程_Java基础入门教程,零基础小白自学Java必备教程 #011 # 第十一单元 String&ArrayList #

    一.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.ArrayList集合的常用方法2.ArrayList存储数据和遍历数据3.String类的构造方法4.String ...

  7. Java中10个流对象重点掌握

    目前为止,10个流对象重点掌握: 字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: FileInputStream FileO ...

  8. 【Java并发.4】对象的组合

    到目前为止,我们已经介绍了关于线程安全与同步的一些基础知识.然而,我们并不希望对每一系内存访问都进行分析以确保程序是线程安全的,而是希望将一些现有的线程安全组件组合为更大规模的组件或程序. 4.1 设 ...

  9. 拜托,别再问我怎么自学 Java 了!和盘托出

    假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白.我想自学 Java,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习 ...

随机推荐

  1. Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

    昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...

  2. js按钮 防重复提交

    给html 按钮加id属性   例: <button id="addBtn"  onclinck="check()">  </button&g ...

  3. package.json文件中dependencies和devDependencies的区别

    在工作和学习中,我经常会用的npm 下载各种包,有时就会遇到各种npm 的形式,现在就捋一捋 首先要先了解   package.json文件中dependencies和devDependencies的 ...

  4. oracle查看当前用户,数据库实例

    #sysdba用户登录[oracle@oracle ~]$ sqlplus / as sysdba #查看当前用户sql>show user; #查看当前数据库实例sql>show par ...

  5. 从零开始学 Web 之 jQuery(八)each,多库共存,包装集,插件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  6. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十二):解决跨域问题

    什么是跨域? 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源. 同源策略是浏览器安全的基石. 如果一个请求地址里面的协议.域名和端口号都相同,就属于同源. ...

  7. spring的第一天

    spring的第一天 ssm框架 spring  Spring是什么? Spring是容器框架,用来配置(装)Bean,并且维护Bean之间的关系.其中Bean可以是Java中的任何一种对象,可以是J ...

  8. 使用Pabot并行运行RF案例

    一.问题引入 在做接口自动化时随着案例增多,特别是流程类案例增多,特别是asp.net的webform类型的项目,再加上数据库校验也比较耗时,导致RF执行案例时间越来越长,就遇到这样一个问题,705个 ...

  9. [转]bootstrapValidator.js 做表单验证

    本文转自:https://www.cnblogs.com/nele/p/5493414.html 作者:@nele本文为作者原创,转载请注明出处:https://www.cnblogs.com/nel ...

  10. C#检测是否联网

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...