教材学习总结
类与对象学习总结
1.类:java作为面向对象型语言具有三个特性:①封装性。②继承性。③多态性。java中类是基本要素,类声明的变量叫对象。在类中定义体的函数题叫方法。
2.类与程序的基本结构:(一)构造方法:创建对象时用,构造方法与类同名,没有类型。可以创建构造方法,但要保证参数个数不同或参数类型不同。(二)为对象分配变量时要用new字符。用“.”运算符来操作对象。(三)java有若干个类构成,这些类可以在一个源文件也可以在若干文件夹里。
3.参数传值:(一)传值机制:方法中参数变量的值是调用者指定值得拷贝。
4.对象的组合:一个类可以把某个对象作为自己的成员变量。一个对象a组合了对象b,那么a可以委托b调用其方法,即对象a以组合的方式复用b的方法。
5.实例成员与类成员(一)在变量或方法前加上static叫类变量,否则叫实例变量。(二)区别:不同对象的实例变量各不相同,所有对象共享类变量,直接可以通过类名进行访问。(三)类方法只能调用类变量,而实例变量可以调用类变量,也可以调用实例变量。
6.方法重载:(一)定义:一个类可以有多个方法具有相同的名字,但是得保证这些方法的参数不同或参数类型不同。(二)调用重载方法引用要明确,对应相同类型的参数,调用相同类型的参数的重载方法。
7.this关键字:(一)this关键字表示某个对象。(二)this不可以出现在类方法中,在类方法中可以将this改为类名。
8.包:通过包语句package将几个源文件打包在一个文件夹下,可以对java文件进行有效的管理。
9.import语句:(一)语句作用是引入包中的类。(二)java.lang包是java语言的核心语句,不需要import语句来引入,其中包括“System类,Math类”。(三)如果没有用import引入包内的类,可以直接带包名使用该类。(四)用 private,public,protected修饰的方法和成员变量有一定的访问权限。(五)javadoc 文件名.java 会在目录中生成一个html的文档,可以用浏览器进行查看。
10.JRE扩展与jar文件:/jre/lib/ext,只要经类打包成jar文件,放入ext中,程序就可以使用import来使用扩展中的类。
学习中的问题
1.没搞明白教材(P83)4.8.2中的歧义调用,为什么无法通过编译?
解决:询问同学:10为int型,10.0为double型,参数(10,10)对应的应该是(int m,int n),而类中却没有这样的调用
2.在方法重载时可以只保证返回类型不一样吗?
解决:百度:方法返回类型不参与运算和比较,所以还是得保证方法参数不同,或参数类型不同。
代码托管
学习感悟
从类到创建对象以及对调用方法等让我感到java这个面向对象语言的强大,但让我真正感到强大的是java庞大的类库,比如java.lang,java.until等,这些类库给我们提供了很多算法。与c语言不同的是,c语言一个很简单的算法如排序查找等都得自己写算法,而java就可以通过import语句调用类库中的算法。其实我觉得c语言中的结构体与Java中的类有着相同的作用,c语言中有结构体数组,而java中有对象数组,都是在数组中存放一个个结构体或对象。但区别是是C语言中的结构体只是面向自己,而java中的类是面向所有对象的,不同的源文件可以调用不同源文件中的类。
学习进度条
已完成650代码,9篇博客,学习了git的用法,java的基本语法,类与对象及打包。