教材学习内容总结
1.类(有构造方法无析构方法)
a.类的特征:封装 继承 多态
b.类的定义:class类名 -> 类的声明,即对象
{类体的内容:变量的声明,方法的定义} ->类体
编程风格:(a)类名用拉丁字母时首字母大写(b)见名知意
c.成员变量
类型:基本类型,引用类型
有效范围:整个类,与类体中先后位置无关
编程风格:(驼峰习惯)(a)变量名字除了符合标准符规定外,名字首单词首字母大写(b)见名知意
d.方法:类型 名称(参数列表){方法体:可以操作成员变量、局部变量}
成员变量 | 局部变量 | 参数 |
整个类内有效 | 整个方法内有效 | 声明位置之后有效(复合语句中在复合语句内有效) |
成员变量(有默认值)与局部变量(无默认值)同名时,成员变量被隐藏(在该方法内失效),此时用this可以调用被隐藏的成员变量
e.构造方法与对象的创建(若干构造方法:参数个数,参数类型不同)
(a)名字与类名相同
(b)没有构造方法时系统提供默认的构造方法
(c)构造方法没有类型
(d)构造方法可以重载->参数个数/类型不同->多态的表现
f.创建对象
(a)对象的声明:类名 对象名
(b)为声明的对象分配变量:new
(c)创建为一个类的对象时分配内存空间
(d)一个类可以创建多个不同的对象
(f)类名 对象名=new 类名():分配成员变量空间->构造方法->算出引用
g.使用对象: .
(a)对象操作自己的变量:对象.变量
(b)对象调用类中的方法:对象.方法
h.参数传值
方法中的参数属于局部变量,必须有具体的值
(a)基本数据类型参数:传值参数(级别低)不改变->被传值参数(级别高)先改变
(b)引用数据类型参数:传值参数(引用)改变->被传值参数(引用)先改变
一个类声明的两个对象有相同的引用,二者具有完全相同的变量
(c)可变参数:放回类型 类名(类型 .....x):x代表参数列表中的最后一个
i.实例成员与类成员
(a)有关键字static修饰叫类(静态)变量,没有叫实例变量
(b)不同对象有不同实例变量,所有对象共享类变量
(c)通过类名直接访问类变量:类名/对象.类变量/类方法
实例方法(操作) | 类方法(操作) |
类变量,实例变量 | 类变量 |
(d)如果一个方法中不需操作类中的任何实例变量就定义static方法
j.方法重载
(a)参数个数不同/参数个数相同,但参数列表中对应的某个参数的类型不同
(b)方法放回类型和参数名不作比较
k.this关键词
(a)this关键词出现在类的构造方法中时,代表使用该构造方法所创建的对象
(b)this不能出现在类方法中
l.包
(a)包名的目的是有效的区分名字相同的类,不同Java源文件中的两个类名字相同
(b)import语句引入有包名的类
m.访问权限
(a)访问限制符:private、protected、public
(b)在a类中用b类定义的对象
该对象不能访问b类的??? | 同一个包 | 不同 |
private属性和方法 | 不可以 | 不可以 |
public属性和方法 | 可以 | 可以 |
friendly、protected属性和方法 | 可以 | 不可以 |
(c)不能用protected和private修饰类
(d)访问权限从高到低:public、protected、friendly、private
n.基本类型的类封装
(a)基本数据类型:boolean、byte、short、char、int、long、float、double,字符串不属于基本数据类型
(b)类型Value()方法返回该对象含有该类型的数据
o.对象数组
数组是相同类型变量按顺序组成的集合
p.反编译:javap.java eg:javap java.awt.Button
html格式文档:javadoc.exe eg:javadoc Example.java
教材学习中的问题和解决过程
1.类和对象和c++/c语言不同的地方 -> 查看面向对象程序设计的课本与java对照
2.理解“一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量” -> 画分析图
3.类变量/方法和实例变量/方法 之间的访问权限
代码学习中的问题和解决过程
包的用法不会(import....)
主要是算法需要提高
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
目标 | 5000行 | 20篇 | 400小时 | 会用java语言独立设计程序 |
第一周 | 13/13 | 1/1 | 5/5 | 学会使用jdk以及对java源程序语句的基本注意事项有所了解 |
第二周 | 140/143 | 1/2 | 10/15 | 学会java基本数据类型与数组和c语言/c++在表达和用法上的相同/不同之处 |
第三周 | 276/419 | 1/3 | 20/35 | java中运算符,表达式和语句的表现形式,类的声明,定义方法 |
第四周 | 600/1019 | 1/4 | 30/45 | 类和对象 |
参考文献
《java2实用教程(第5版)》