1.一般内部类
public class J2 {
void go1()
{
new J21().go();
}
public static void main(String[] args) {
}
class J21
{
void go()
{
System.out.println("HELLO WORLD");
}
}
}
//调用J2中 的内部类的方法
public class TEXT2 {
public static void main(String[] args) {
//方法一
J2 j = new J2() ;
new J2().new J21().go();
//方法2
new J2().go1();
}
}
2.方法内部类
public class J3 {
public static void main(String[] args) {
}
public void go ()
{
class J31{
void to (){
System.out.println("HELLO WORLD");
}
}new J31().to();
}
}
public class TEXT3 {
public static void main(String[] args) {
new J3().go();
}
}
3.静态内部类
public class J4 {
public static void main(String[] args) {
}
static class J41
{
void go()
{
System.out.println("HELLO WORLD");
}
}
public class TEXT4 {
public static void main(String[] args) {
J4.J41 j41 = new J4.J41() ;
j41.go();
}
}
4.匿名内部类
1.实例化匿名内部类
public class J5 {
public static void main(String[] args) {
new J51() {
@Override
public void go() {
System.out.println("HELLO WORLD");
}
}.go();
}
}
interface J51
{
void go();
}
2.返回值匿名内部类
public class J6 {
public J61 make()
{
return new J61() {
@Override
public void go() {
System.out.println("HELLO WORLD");
}
};
}
public static void main(String[] args) {
new J6().make().go();
}
}
interface J61
{
void go();
3.方法形参匿名内部类
public class J7 {
public static void main(String[] args) {
new J7().plan(new J71(){
@Override
public void go() {
System.out.println("HELLO WORLD");
}
},"名称");
}
public void plan(J71 j71 ,String name)
{
j71.go();
}
}
interface J71
{
void go();
}
5.枚举类
一个类有有限个对象的类叫做枚举类
枚举类的对象默认实例化
public enum ESeason {
SPRING , SUMMER , FALL, WINNER ;
void go( )//公用
{
switch (this)
{
case SPRING:
System.out.println("春天");
break;
case SUMMER:
System.out.println("夏天");
break;
case FALL:
System.out.println("秋天");
break;
case WINNER:
System.out.println("冬天");
break;
}
}
如果要表示没有对象 也要写 表示没有对象
public enum ESeason { ; }
包装类
从低级类型到高级类型转换必须用包装类
double b = 10.2;
String s = String.valueOf(b);// String--double
System.out.println(s);
低转换高——装箱 高转换低——拆箱
String s1 = "5";
double b1 = Double.valueOf(s1);
System.out.println(s1);