Java中的内部类初学
1.定义: 顾名思义就是在类中定义的类,分为两类,static 的 和 non-static 的。内部类实际上是一个编译器的现象。编译器将内部类转化为带着一些奇怪名字的普通类文件,虚拟机并不区分一般类和内部类的类中的文件。 2.使用内部类的第一个好处——封装性和多继承 我们进行“第三种关系”分析: 继承结构中无外乎"is a" 和 "has a"两种关系。我们举一个Employee/Manager的is-a的例子: class Employee {
private String name;
private Date dateHire;
.....
.....
public float getSalary() {
}
...
} Class Manager extends Employee {
private Employee[ ] subOrdinates;
....
public Employee[ ] getSubOrdinates() {
return subOrdinates;
}
} 而另一种关系是has-a,class Company {
private Employee[ ] allEmployees;
private Manager[ ] allManagers;
....
public Manager[ ] getAllManagers() {
return allManagers();
}
public void printOrganizationTree() {
}
}
然而还有第三种关系,虽不明显但是很常用,称作“平面关系”。我们举一个汽车的例子:一个汽车(类Automobile)可以有许多组件组成,比如引擎、传动系统、排气系统等等。当然其中还可能有一个部件——车载空调(auto AC)。这个auto AC可能从一个通用的类AirConditioner中得到,进行改造后适用于汽车。但是它不能独立存在,汽车必须与其有交互和控制。注意,这里Automobile这个类不可以去实现一个叫做AutoAC的接口,因为汽车不是一个空调,它也不应该有空调应该有的属性。车载空调的属性应该放在Automobile类中。这里我们使用内部类来描述和解决。 /** The general AirConditioner class */
class AirConditioner {
....
public float getTemperatureMin() {
}
public float getTemperatureMax() {
}
} /** The Automobile class which has an inner class which is an AC */
class Automobile {
相关文档:
1.private修饰方法不能被外部类调用。
2.final修饰的对象构建后不能被修改。
扩展:
final类不能被继承,没有子类,final类中的方法默认是final。
final不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
final函数参数无法被改变。
父 ......
String srt="abc?abc";
str.replaceAll("?", "#");
会提示这样的错误
Dangling meta character '?' near index 0
?
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compi ......
JAVA_HOME = F:\java\jdk (jdk安装路径)
PATH = .;%JAVA_HOME%/bin
CLASSPTAH = .;%JAVA_HOME%/lib
检验是否配置成功:
控制台cmd
输入java出现配置信息说明配置成功。 ......
Java读写cookie
/*
* 写cookie
*/
Cookie namecookie = new Cookie("name",name);
Cookie passwordcookie = new Cookie("password",password);
Cookie optioncookie = new Cookie("option","1");
//生命周期
namecookie.setMaxAge(60*60*24*365);
passwordcookie.setMaxAge(60*60* ......