黑马程序员_高新技术学习笔记(第三、四章)

---------------------- android培训java培训、期待与您交流! ----------------------

静态导入StaticImport

import static java.lang.Math.max;//导入Math类的max静态方法

import static java.lang.Math.*;//导入Math类的所有静态方法


可变参数VariableParameter

overload  vs override

overload 是指方法名称相同,参数类型不同(参数个数/形式参数类型)返回值类型可以相同也可以不同

System.out.println();

override是指子类中相同方法名称,相同参数类型,修饰符只能越开放,不能越封闭(否则就是两个方法)

public——protected——default/package——private

静态方法因为是伴随类的所以,所以只能被遮蔽,不会被改写(可以使用强迫类型转换的方式来调用,最好使用类名调用的方式,免得混淆)

Method(int x,int…args)

int x这个参数可以省略


加强for循环

for([修饰符]类型 元素变量:集合名)

for(int arg:args)

{sum+=args;}


自动装箱拆箱享元模式

Integer iobj =3;//装箱  -128~127  

区别new String(”xxx”)/String  str=”xxx”

Integer.valueOf(3);//把基本类型封装成对象类型

System.out.println(iobj+1);//拆箱

享元模式:很多很小的对象,他们有很多相同的东西,我们可以把相同的部分(对象的内部状态)变成一个对象,把那些不同的部分(对象的外部对象)当成外部的参数传给这个对象

 

枚举普通类模拟

EnumTest 类命名

把构造方法设成私有的(避免外部生成对象)

在类中设一些public的static常量供外部调用

枚举元素是一个类的实例对象

采用抽象方法定义nextDay就是将大量的ifelse语句转移成了一个个独立的类

如果想在一个类中编写完各个枚举和测试调用类,那么可以将枚举类定义成调用类的内部类

枚举类的变量只能赋值枚举中的元素

WeekDay weekday = WeekDay.SUN;

枚举类的变量的方法:name/ordinal/getclass

把一个String变成对应的枚举元素

枚举类的静态方法:valueOf(“xxx”)/values().length

 

实现带有构造方法的枚举

枚举的元素列表必须放在枚举类所有成分之前

枚举类的构造方法only private is permitted(私有的避免外部随意生成对象)

有多个构造方法时,枚举元素的参数类型决定其调用的构造方法

枚举元素 SUN 相当于普通类public final static voidWeekDay SUN = new WeekDay();

内部类是可以使用四个访问修饰符的,外部类两个public 和 默认

TrafficLamp(交通灯)

枚举类内部定义抽象方法public abstract TrafficLamp nextLamp()

RED(30){ public TrafficLampnextLamp(){return GREEN;}}  表示TrafficLamp的实现类

private TrafficLamp(int time){this.time=time;}

new Date(300){}调用父类有参的构造函数

枚举如果只有一个成员,就可以作为一种单例的实现方式

---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看: http://edu.csdn.net/heima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值