首页 > 技术文章 > 《Java程序设计》第3周学习总结

zy1111 2016-03-20 20:25 原文

20145318 《Java程序设计》第3周学习总结

教材学习内容总结

4.认识对象

类与对象

要产生对象必须先定义类,类是对象的设计图,对象是类的实例。

类在定义时要使用关键词class,而具体对象就是对应java在堆内存中用new建立的实体。

在Java中,为个别对象的数据成员指定值的方式是:对象.对象成员,如car.color = "blue";

一个源代码中可以有很多个类定义,但是只能有一个公开类,且文档名必须与其名相同,所谓“一类一文件”。

基本类型打包器

可以用Long、Integer、Double、Float、Boolean等类打包基本类型,这些类就是打包器,将基本类型当做对象操作。

除了使用new创建基本类型打包器,也提供了自动装箱和拆箱功能。

数组

数组在Java中就是对象,对对象的注意点对数组都要注意。

数组长度在建立后即固定。

二维数组的本质即在已经定义的一位数组中再定义一个数组在内部各元素中。

在Java中可以使用System.arraycopy()的方法来进行数组值的复制,它会使用原生方式复制每个索引元素,比使用循环更快。在JDK6以上的版本中,还有个更方便的Arrays.copyOf()的方法,能够建立新的数组。无论System.arraycopy()还是Arrays.copyOf(),用在类类型声明的数组时,都是执行浅层复制。

字符串

字符串本质是打包字符数组的对象,是java.lang.String类的实例。

用equals()比较字符串实际字符内容是否相同。

字符串对象一旦建立,就无法更改对象中的内容,使用+会产生新的String实例,不要将+用在重复性的连接场合。

使用javac指令没有指定-encoding选项时,会使用操作系统默认编码。

5.对象封装

封装

封装是面向对象的原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部属性和实现细节。

封装的目的主要是隐藏对象细节,将对象当作黑箱进行操作。

比如电脑主机,不需要告诉甚至刻意隐瞒使用者内部的硬盘CPU是怎么运行的,只需要告诉开机键USB插口等使用方法、参数类型、个数及结果就可以。

构造函数

构造函数:函数名与类名必须相同,不需要返回值。这与void的返回值不同,一个是不需要返回值,一个是返回值为空。

构造函数的重载:通过自变量类型不同或个数不同实现。

this

this可以出现在class中任何位置,在对象建立后为“这个对象”的参考名称。

this()代表了调用另一个构造函数,至于调用哪个构造函数,则视调用this()时给的自变量类型与个数而定。

static

static的成员属于类,而非个别对象。

在static方法或区块中不能出现this关键字,static方法中不能用非static数据或方法成员。

import static要注意名称冲突的问题。

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

 class  Demo
{
	public static void main(String[] args) 
	{
		Car c=new Car();
		c.color="blue";
		c.run();
		new Car().num=5;
		new Car().color="black";
		new Car().run();
	}
}
class Car
{
	String color="red";
	int num=4;
	void run()
	{		
		System.out.println(color+"  "+num);
	}
}

二维数组

class TwoDimensionArray
{
	public static void main(String[] args)
	{
            int[][] arr = {{1,2,3,4},{5,6,7,8}};
            for(int i = 0;i<arr.length;i++)
		{
          	    for(int j =0;j<arr[i].length;j++)
			{
              	            System.out.printf("%d",arr[i][j]);
           	        }
        	    System.out.println();
    	        }
        }
}

托管截图

  • ...

其他(感悟、思考等,可选)

这周的学习任务比较繁重,接触到了Java区别于C的主要f特点,有些难懂,反倒没有多编写代码,主要看懂书上内容为主,后面会补上代码。

学习进度条

参考资料

推荐阅读