java实现状态(state)模式的示例
/**
* @author stone
*/
public class WindowState {
private String stateValue;
public WindowState(String stateValue) {
this.stateValue = stateValue;
}
public String getStateValue() {
return stateValue;
}
public void setStateValue(String stateValue) {
this.stateValue = stateValue;
}
public void handle() {
/*
* 根据不同状态做不同操作, 再切换状态
*/
if ("窗口".equals(stateValue)) {
switchWindow();
this.stateValue = "全屏";
} else if ("全屏".equals(stateValue)) {
switchFullscreen();
this.stateValue = "窗口";
}
}
private void switchWindow() {
System.out.println("切换为窗口状态");
}
private void switchFullscreen() {
System.out.println("切换为全屏状态");
}
}/**
* 状态的使用
* @author stone
*
*/
public class WindowContext {
private WindowState state;
public WindowContext(WindowState state) {
this.state = state;
}
public WindowState getState() {
return state;
}
public void setState(WindowState state) {
this.state = state;
}
public void switchState() {
this.state.handle();
}
}/*
* 状态(State)模式 行为型模式
* 既改变对象的状态,又改变对象的行为
* 根据状态,改变行为
*/
public class Test {
public static void main(String[] args) {
/*
* 本例的 状态值只有两个,由状态类自身控制
* 也可以把状态值的控制,交由客户端来设置
*/
WindowContext context = new WindowContext(new WindowState("窗口"));
context.switchState();
context.switchState();
context.switchState();
context.switchState();
}
}打印
MDWechat是一款xposed插件,能够使使微信Material Design化。功能实现的功能有:1.主界面 TabLayout Material 化,支持自定义图标2.主界面 4 个页面背景修改3.全局 ActionBar 和 状态栏 颜色修改,支持主界面和聊天页面的沉浸主题(4.0新增)4.自动识别微信深色模式以调整MDwechat配色方案(3.6新增)5.主界面添加悬浮按钮(Float
0
切换为窗口状态 切换为全屏状态 切换为窗口状态 切换为全屏状态
以上就是Java实现状态(State)模式的示例的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号