教材学习内容总结
第四章 认识对象
类与对象
1.定义类时使用class关键词再加名称,例如
class Clothes,新建对象时需要用new Clothes。若要将c1名称参考至新建对象,则可以Clothes c1 = new Clothes(),c1是引用,在栈上,new Clothes()在堆上生成对象,c1可以近似看成指向对象的指针。通过程序来学习,程序代码链接在这个程序中有两个类,一个是公开的Field类,另一个是非公开的,此处需要注意一个原始码中可以有多个类定义,但只能有一个是公开类,并且文档中的主文档名必须与公开类名称相同。该程序运行结果如下
构造函数
在上面的代码中可以看到当为个别对象指定数据的代码是类似的,可以通过构造函数来将这一步骤一并进行。例如,代码链接,改程序运行结果与上面的例子相同
标准类
两个基本的标准类:java.util.Scanner以及java.math.BigDecimal。
1.java.util.Scanner可以接受用户的输入,可以通过import java.util.Scanner告诉程序你想偷懒,这样不用每次使用Scanner都输入前面的java.util.Scanner。Scanner的nextInt()方法会看看标准输入中有没有下一个字符串,有的话会尝试将之剖析为int型。next()是直接取得上一个字符串,nextLine()是取得用户输入的整行文字,练习书上的代码代码链接,结果如下
在原始码中只能有一个公开类,且主文档名必须与公开类名称相同;其实只要有一个类定义,就会产生一个.class文档
类定义的同时构造与类同名的函数能够简化程序(P85 Clothes)
2.在操作对象时:=是用来指定参考名称参考某个对象 用来比较两个参考名称是否参考同一对象。
3.自动装箱、拆箱实际上是编译程序蜜糖(Compiler Sugar),感觉就是起到了一个简化程序的作用 自动装箱注意存储数据的范围,是否会创建实例,反正最好不要用来比较两个实例的内容值。
4.二维数组:cords.length(得知有几列row) cords[x].length(每列几个元素)。
5.String name="abcd";
char []cs={'a','b','c','d'};String name=new String(cs);
字符串转换成基本类型表4.2的剖析方法
println(""+sum),输出字符用+。
6.声明类为公开类之后,才可以在其他包中调用,在构造函数上声明public,其他包也可以调用,在方法上声明public,表示其他包中可以调用这个方法。
7.重载(Overload):创建对象的初始流程定义多个构造函数(只要参数类型或个数不同),重载让程序设计人员不用苦恼方法名称的设计,可以用一致的名称来调用类似功能。
8.传值调用(java中只有传值调用)看看调用的方法中有没有新建对象,究竟是谁参考了谁要弄清楚。