java学习日志(6)回调、模板方法模式、内部类、数组及初始化
来源:互联网 发布:每天编程一小时网站 编辑:程序博客网 时间:2024/06/06 09:01
回调的思想是中间留有一段没有完成的实现,通过子类来确定这段实现的具体内容。
不过还没弄清楚各种定义的关系
代码1:
package cn.bjsxt.oop.callBack;
public abstract class MyFrame {//如果要子类都重写,则这里可以定义为抽象类
public abstract void paint();
}
interface IMyFrame { //也可以用借口来做
void paint();
}
class GameFrame02 implements IMyFrame{
public void paint(){
System.out.println("GameFrame02.paint()");
System.out.println("画窗口");
}
}
代码2:
package cn.bjsxt.oop.callBack;
//测试回调
public class PaintFrame {
public static void drawFrame(IMyFrame f){
System.out.println("启动线程");
System.out.println("增加循环");
System.out.println("查看消息线");
f.paint();//这里实现待定,由下面的子类决定
//画窗口
System.out.println("启动缓存,增加效率");
}
public static void main(String[] args){
drawFrame(new GameFrame01());//这里传01则调用01,传02则调用02
}
}
class GameFrame01 implements IMyFrame{
public void paint(){
System.out.println("GameFrame01.paint()");
System.out.println("画窗口");
}
}
模板方法模式:完全忘了
内部类:在类的里面定义类
package cn.bjsxt.eleven;
//内部类测试
public class Outer {
public static void main(String[] args){
Face f = new Face();
Face.Nose n = f.new Nose();
n.breath();
Face.Ear e = new Face.Ear();//静态内部类
e.listen();
}
}
class Face{
int type;
static String color = "红润";
class Nose{
String type;//如果这一行没有,则下面type调用的就是外部类的
void breath(){//普通内部类可以看作外部普通的属性一样,必须现有外部类对象,才能有内部类对象
System.out.println(type);//this.type,Face.this.type不一样,后者调用外部类属性
System.out.println("呼吸");
}
}
static class Ear{//静态内部类,外部类对象不一定有,所以静态内部类不能调用外部的属性
void listen(){
System.out.println("q");//静态的不能调外部非静态的,比如不能调 type
System.out.println(color);//可以访问静态的
System.out.println("listening");
}
}
}
数组:
/*
* 1.数组是相同数据类型的有序集合
* 2.数组也是对象,数组元素相当于对象的成员变量
* 3.数组的长度是确定的,不可变。如果越界,则报ArrayIndexOutofBoundsException*/
数组的初始化有三种方法:默认初始化、动态初始化、静态初始化
但是这里值传递仍然没有完全明白?
- java学习日志(6)回调、模板方法模式、内部类、数组及初始化
- 内部类学习日志
- 黑马程序员—Java面向对象(抽象类、模板方法设计模式、接口、多态、内部类)
- java内部类的初始化
- java内部类的初始化
- 18天Java学习---11.面向对象编程06-Java的内部类及对象数组
- Java学习笔记_成员内部类,静态内部类,方法内部类
- 日志总结-Java内部类
- Java内部类及匿名内部类
- java方法内部类
- Java:方法内部类
- JAVA中的内部类--方法内部类
- java内部类之方法内部类
- Java学习:内部类
- Java内部类学习
- java内部类学习!!
- java学习---内部类
- Java 内部类学习
- java 归并排序(稳定)
- POSIX信号量与互斥锁(生产者,消费者)
- replicate-rewrite-db
- 常用复制管理命令
- Ubuntu server中iptables基本配置
- java学习日志(6)回调、模板方法模式、内部类、数组及初始化
- 【TCP/IP】TIME_WAIT状态及地址reuse问题,SO_REUSEADDR参数详解
- R语言-数据处理
- [AngularJS面面观] 20. 依赖注入 --- instance注入器以及provider注入器
- Own your Android! Yet Another Universal Root CVE-2015-3636 (中文翻译) (2)
- iOS开发笔记>> kvc的keypath中集合运算符怎么使用?
- OkHttp的基本使用
- [LeetCode]--375.Guess Number Higher or Lower II
- html简单的跑马灯效果