教材学习内容总结

  • 对象(Object):存在的具体实体,具有明确的状态和行为

  • 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

  • 从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

  • 从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

  • 类是对象的设计图,对象是类的实例,生成对象要先定义类。

  • 类成员变量整个类中有效,局部变量仅在方法中有效。

  • 局部变量的名字与成员变量的名字相同时,成员变量被隐藏。

  • 成员变量有默认值,局部变量没有,所以使用局部变量前需要先需要声明其值。(注:声明与赋值不等价 int a=12;不等于int a; a=12;)

  • 在一个程序功能中有多个类class复合调用时,编译后运行应当运行有main函数的那一个类,别的类可能看似行数很多,但是只是作为主程序中的一个方法不能单独运行。例如教材代码:

SingGame.java

public class SingGame {
public static void main (String args[]) {
Line line=new Line();
line.givePersonScore();
}
}

InputScore.java

import java.util.Scanner;
public class InputScore {
DelScore del;
InputScore(DelScore del) {
this.del=del;
}
public void inputScore(){
System.out.println("请输入评委数:");
Scanner read=new Scanner(System.in);
int count = read.nextInt();
System.out.println("请输入评委的分数:");
double []a =new double[count];
for(int i=0;i<count;i++){
a[i]=read.nextDouble();
}
del.doDelete(a);
}
}

DelScore.java

public class DelScore {
ComputerAver computer;
DelScore(ComputerAver computer) {
this.computer=computer;
}
public void doDelete(double [] a) {
java.util.Arrays.sort(a);
System.out.print("去掉一个最高分:"+a[a.length-1]+",");
System.out.print("去掉一个最低分:"+a[0]+"。");
double b[] =new double[a.length-2];
for(int i=1;i<a.length-1;i++) {
b[i-1]=a[i];
}
computer.giveAver(b);
}
}

ComputerAver.java

public class ComputerAver {
public void giveAver(double [] b) {
double sum=0;
for(int i=0;i<b.length;i++){
sum=sum+b[i];
}
double aver=sum/b.length;
System.out.println("选手的最后得分:"+aver);
}
}

Line.java

public class Line {
InputScore one;
DelScore two;
ComputerAver three;
Line(){
three = new ComputerAver();
two=new DelScore(three);
one=new InputScore(two);
}
public void givePersonScore() {
one.inputScore();
}
}

此时有五个类文件,编译通过后应当运行SingGame

代码调试中的问题和解决过程

问题:不在一个程序中的多个类相互调用时,想要通过一条命令让位于src下的多个代码编译后自动放入bin文件夹中,会提示错误找不到符号。

解决方法:新建一个文件夹将此程序所有类放入,然后通过命令编译该文件夹所有.java文件。

代码托管

感悟

学习至第四章,发现渐渐开始有些难度了,也算是正式开始步入Java程序设计的。对象,方法等内容也是一般java程序必不可少的设计内容,勤加练习多打代码,会渐渐了解其套路,从而理解其使用。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/4 10/10
第二周 300/500 1/5 10/20
第三周 800/1300 1/6 20/40
第四周
  • 计划学习时间:20小时

  • 实际学习时间:20小时

  • 改进情况:

    多敲代码

参考资料

最新文章

  1. Maven POM元素继承
  2. mybaits中插入到mysql数据库自动返回id主键
  3. 使用 TOP 限制更新的数据
  4. mybatis mapper association collection
  5. SQL Server 取日期时只要年月或年月日
  6. Java多线程之新类库中的构件PriorityBlockingQueue
  7. trap在shell中捕捉信号
  8. hadoop中遇到的问题。
  9. linux命令行模式下实现代理上网
  10. SIP协议错误代码大全
  11. Delphi 设置文件属性
  12. IOS应用上传须要做的工作
  13. vuex是什么东西?
  14. 实时同步到Hbase的优化-1
  15. Delphi 2010 新增功能之: IOUtils 单元(6): TPath(结构体) 的方法与属性
  16. table-layui
  17. axf 文件包含太多的调试信息,导致的编译错误
  18. setnx redis
  19. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
  20. Codeforces Round #283 (Div. 2) A ,B ,C 暴力,暴力,暴力

热门文章

  1. 安装 java环境 和 tomcat
  2. day14-jdbc案例(简单的curd&amp;分页)
  3. org.hibernate.MappingException: class com.itheima.domain.Customer.java not found while looking for property: cust_id at org.hibernate.internal.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.
  4. Thymeleaf中的&amp;&amp;解析问题
  5. MySQL数据库优化_limit_2
  6. Java项目中,如何限制每个用户访问接口的次数
  7. 收获,不止_Oracle读书笔记
  8. webserver nginx / https / upstream
  9. C++回顾day02---&lt;对象构造和析构,外加友元函数&gt;
  10. C#设计模式(10)——桥接模式