day05的重点内容
(1)ASCII里面的值 a=97 A =65 0=48
java语言的特点:有很多小特点 重点是开源和跨平台
short s=1;s=s+1;不对 应写为s+=1(这个隐含了强制转换)
java采用的是Unicode编码
(2)基本数据类型: 占用字节数
(A)整数
byte 1
short 2
int 4
long 8
(B)浮点数
float 4
double 8
(C)字符
char 2
(D)布尔
boolean 1
(3)break跳出单层循环
continue跳出一次循环,进行下一次执行
return整个方法结束
switch表达式可以是byte,short,int,char
(4)public static void main (String[] args)
修饰符 返回值类型 方法名 参数类型 参数名
(5)三元方法 int c = ((a > b)? a : b);
返回值的调用有三种:单独调用 输出调用 赋值调用
但是void类型的调用只能用单独调用
(6)方法重载:方法名相同,参数列表不同,与返回值类型无关
参数列表不同分为两种,一种是参数个数不同,一种是参数类型不同。
(7)int[] arr = new int[] 动态进行
int[] arr = {1,2,3} 静态进行的
强调注意事项:动态和静态不能同时进行 int[] arr = new int[3]{1,2,3}
这种写法是错误的。
(8)总结Exception结尾的问题:NullPointerException 空指针异常
day06重点内容
(1)面向对象思想: 面向对象是基于面向过程的编程思想。
面向过程: 强调的是每一个功能的步骤
面向对象: 强调的是对象,由对象去调用功能
(2)包名要小写,类名开头字母要大写,变量开头小写后面要大写,static后面的字母都要大写
(3)面向对象的特征:封装,继承,多态
(4)类与对象:
类: 属性 行为
对象: 成员变量 成员方法
(5)在实现类中创建对象 类名 对象名 = new 类名();
day07重点内容
成员变量和局部变量一样时,采取就近原则
(3)形式参数问题:
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
(4)匿名对象:没名字的对象
应用方法:仅仅只调用一次的时候 new Student().show(); 新建对象 执行show方法
好处: 调用完之后就可以被回收
匿名对象可以作为实际参数传递
(5)被private修饰的成员只能自己的类使用,其他类使用不了
(6)封装含义:隐藏对象的属性和实现细节,仅对外提供公共的访问方式
(7)构造方法: 作用:给对象的数据进行初始化
格式 方法名与类名相同
没有返回值类型
没有具体的返回值
(8) 重载:方法名相同,参数列表不同
(9)给成员变量赋值 两种方法:getter和setter方法 , 构造器
(10) static 针对多个对象有共同的这样的成员变量值得时候,才用关键字static来修饰
(静态修饰)
static特点:随着类的加载而加载
优先于对象存在
被类的所有对象共享
可以通过类名调用
(11)为什么main方法被static修饰,因为它被虚拟机调用,
(直接类名.main)虚拟机调用它不用创建对象,所以它被static调用
(12)static注意事项:静态方法中是没有this关键字的
静态的方法只能访问静态的成员变量和静态的成员方法
(13)public static void main(String[] args)
public 公共的 访问权限是最大的
static 静态的 不要创建对象,通过类名就可以
void 返回值类型
main 常见的方法入口
String[] args 是一个字符串数组 args是早期为键盘录入设计的
day08重点内容
(1)文档注释: /* /
(2)随机数:int number = (int)(Math.random()*100)+1
因为Math是double类型的要int强制转换
之前是0.0-1.0之间的数,加上后面的就是取1-100之间的数
(3)键盘输入:Scanner sc = new Scanner(System.in);
System.out.println(“请输入你要猜的数字”);
int guessnumber = sc.nextIn();
(4)代码块:局部代码块 在方法中
构造代码块 在类中成员位置 都会先执行构造代码块的内容
静态代码块 在类中成员位置,用{}括起来的代码,只不过地用static修饰的
执行顺序是 静态代码块 构造代码块 构造方法
(只执行一次) (每次调用都执行)
(5)继承:把多个类中的内容给提取出来定义到一个类中
好处是:提高了代码的复用性
提高了代码的维护性
让类与类之间产生了关系,是多态的前提
弊端是:类的耦合性增强了
(6)继承的特点: Java只支持单继承,不支持多继承
Java支持多层继承 (继承体系)
(7)继承的注意事项:子类不能继承父类的私有方法
子类不能继承父类的构造方法,但是可以通过super去访问父类的构造方法
不要为了部分功能取用继承
(8) this和super的区别
this访问的是自己类中的成员变量
super访问的是父类中的成员变量
(9) 重写:子类重写父类方法的时候,最好声明一模一样
day09重点内容
(1)final:不想让子类覆盖掉父类的功能
final可以修饰类 方法 变量
注意:final里的值不能被其他类修改
(2) 多态:同一个事物 在不同时刻体现出来的不同状态
多态的前提:要有继承关系
要有方法重写(其实没有也可以,但是没有 多态就没有意义了)
要有父类引用指向子类对象
多态中成员访问特点:成员变量 编译看左边 运行看右边
构造方法 创建子类对象的时候,访问父类的构造方法,对父类的数据进行初始化
成员方法 编译看左边 运行看右边(因为他存在方法重写,所以只有他运行看右边)
注意:静态方法 编译看左边 运行看左边
(3) 多态的弊端:不能使用子类特有的功能
(4)多态的向上转型:Fu f = new zi();
向下转型: Fu f = new zi();
zi z = (zi)f;
day10重点内容
(1)接口不能实例化
(2)把集合转成数组 可以实现集合的遍历
Object[] objs = c.toArray();
(3)集合的专用遍历方式 迭代器
Collection c = new ArrayList();
Iteraror it = c.iterator();
(4)List集合的特有遍历方法就是get和set方法