接口+GUI-第十天

来源:互联网 发布:网络剧校花的贴身高手2 编辑:程序博客网 时间:2024/06/06 05:40

OOP

继承: A extends B  B extends C

父类的构造方法不能被子类继承

 

抽象类:

1 如果该类有一个抽象方法,则该类必为抽象类 (public abstract 返回值类型 方法名();)

2 抽象类的使用只能够被继承,利用多态去产生对象,来调用子类重写的方法

3 抽象不能被实例化

4 抽象类有普通的属性和方法

 

打印机:

纸张大小:A4 B5        abstract Paper

墨色  red  black       abstract Color

 

1如果新引入一种绿色又该怎么添加或修改代码 green?

2如果新引入一种选择(如需要客户选择材质(薄/厚))又该怎么做

 

接口:关键字 interface implements(实现)

 

public interface Xxx{}

 

1 接口里面只能放抽象方法(方法的申明),并且abstract可以省略

2 接口不能够实例化

3 一个类可以实现多个接口,用逗号分隔,并且需要重写所有接口的所有方法

4 接口不是类,他其实是一种规章制度

 

语法格式:

接口 接口对象=new 该接口的实现类();

接口对象.重写的方法()

 

 

 

如何来区分抽象类和接口  

1 抽象类:假如两个事物是同一个事物  extends

2 接口: 假如A事物和B事物不是同一个事物,并且A事物需要满足B事物的某些规章制度(要求) B是接口

 

 

implements 接口1,接口2....

 

 

接口1 对象 =new 类() ;类叫做该接口1的实现类

 

 

一个类只能先继承后实现

 

 

 

练习:一封家书

家书的要求:

1 称谓:如亲爱的爸爸

2 问候:如 你们好么

3 内容:如:我在这里生活的很开心

4 落款:如:小明,2017/3/15  Date SimpleDateFormat

 

接口:1-4 写方法

信类 实现接口,重写

写信类:public void write(...){};

主类:客户输入

 

 

 

多态: 工厂模式

1 抽象类

2 接口

3 大的 new 小的  父类new子类 接口new实现类

4 有可能会传递接口对象。。。

   5 继承 extends

6 实现 implements

 

OOP:static:目的让整个项目都使用同一个对象 --- 单例模式

 

--------------------------------------------------------------、

 

final:最终的 写在public 后面

修饰类 :该类不能够被继承

修饰方法:该方法不能够被重写

修饰属性:该变量变为常量,并且需要给他来一个初始值  比如public static final int age=5;

 

补充:ctrl+shift+f 先选中再排版

 

GUI:graphical user interface  -- 用户图形界面(窗体)

 

 

AWT 包 (重量级)-- 升级 -- swing包(轻量级)

重量级:代码所产生的窗体效果和你的操作系统有关

 

新建第一个窗体的步骤

1 写一个类继承JFrame

2 一般会在构造方法中来进行布局

3 设置基本属性setTitle setTitle setLocationRelativeTo setResizable setDefaultCloseOperation

setVisible(true) ,其中setVisible(true)必须放在最后一行

 

3.5 设置图标

//设置窗体的图标

ImageIcon ii=new ImageIcon("完整的路径");

Image i=ii.getImage();

this.setIconImage(i);

 

4 根据容器得到主面板 Container c=this.getContentPane();

5 设置面板的布局  :先new 布局管理器对象然后用c.setLayout(该对象);

6 得到组件 new

7 把组件放入面板中 c.add(组件对象)

 

 

 

布局方式:流式布局,网格布局,边界布局,坐标布局(null布局)

 

流式布局:FlowLayout --特点:默认从中间往两边排,不足长度则换行排

FlowLayout fl=new FlowLayout()

设置默认左、又、中

FlowLayout fl=new FlowLayout(FlowLayout.left/right/center)

添加组件:c.add(组件对象)

 

 

网格布局:

GridLayout gl=new GridLayout(2, 2) ;//两行两列

添加组件:c.add(组件对象)

 

边界布局:布局东南西北

BorderLayout bl=new BorderLayout();

添加组件:c.add(组件对象,BorderLayout.WEST/EAST/SOUTH/NORTH/CENTER);

 

 

关于路径:

绝对路径:一个完整的物理路径 (从某个盘符开始)   f://abc//aa....

相对路径: 相对于该项目的路径(把图片放入项目中)  jpg,png

 

 

组件:JButton 按钮

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击