您的位置:首页 > 编程语言 > Java开发

java面向对象基础课(继承,方法重写),图形界面=0912号

2016-09-16 21:53 405 查看
                                          学习报告

1、什么是重写?用什么方法可以强制检测当前方法是否重写父类方法?

解答:

l  重写发生在父类与子类之间,子类的方法名和父类相同,参数列相同,返回类型也相同。当对子类对象进行方法调用时,会优先调用子类重写的方法。

l  @Override  强制检测当前子类是否重写父类的方法。

2.通过继承的关系,在子类对象产生之前,会先产生父类对象。然后在父类对象的基础之上,扩展子类特有的属性和方法。所以子类对象包含完整的父类对象,就可以重用父类中定义的方法与属性。

3.字类对象创建之前,需要通过super()调用父类的构造方法,产生父类对象。如果子类构造方法中没书写super(),这时虚拟机会自动调用super()。如果父类中没有无参构造方法,子类必须通过super(参数)显示调用。

4.引用类型的变量,如果修饰为final,表示该变量的值不能变化,也就是不能再指向别的对象。一个类被声明为final,这个类不能被继承。父类的方法被声明为final,子类就不能重写此方法。

下面是关于图形界面方面的问题:

5.GUI(Graphics User Interface)图形用户界面。

包:Awt, awt是使用操作系统本身提供的组件来构建Java的gui组件,跨平台时,显示风格不一样(缺点)。

包:Swing 弥补Awt包的不足,有自己的显示风格,这样在跨平台时,显示风格会保持一致。

l  窗体组件:先进先出,最先加入窗体的组件在最上层,最后加入的窗体的组件在最下层。

l  setVisible放最后面,因为组件也是默认不显示的。

6.下面见绍一些图形界面的设置方式:

JFrame是一个顶级容器,没有容器可以装下它

JPanel是小容器,用顶级容器可以装下它。

在容器中需要设置的按钮有以下几种:

this.setTitle("我的窗体")这是容器的窗体名字,在括号里设置。这句话执行是因为构造函数的原因,当生成此类时,这是构造函数就会执行具体内容。不用this也可以,直接在main入口函数中new一个新类,用类变量名. setTitle,设置也是一样的。

第一种方式就是利用构造函数的初始化一些东西的功能实现的。

this.setLayout(null);设置窗体的布局管理器,null布局的含义是;使用组件的大小和位置定位组件,在窗体中(容器中)必须设置,不然会导致组件无法固定。

this.setSize(800,600);设置窗体的长宽值

this.setVisible(true);设置窗体是否可见,默认是不可见的,括号填写逻辑真时,就是显示窗体。

this.setDefaultCloseOperation(3);设置窗体的关闭位置,本来括号里面是英文单词,但是表示出来就是常量3。

this.setResizable(false);设置窗体创建后长宽是否可以变大变小,设置为false,表示不可再调节大小,默认是可以调整大小的。

this.setLocationRelativeTo(null);设置窗体在屏幕中的位置,设置为null值,表示为屏幕居中。

下面是常见的组件:

 JLabel j1 =new  JLabel("姓名");新建一个标签组件,只有文字,直接在括号里用双引号设置需要的值。

也可以使用j1.setText("姓名");设置需要文字的组件

j1.setBounds(50,50,80,20);设置标签组件的在窗体中位置和标签自己的长度和宽度。

this.add(j1);将这个标签组件加入到当前的这个对象当中(这个对象就是指窗体对象),

基本上每个组件都需要声明一个组件的对象,设置位置,大小,并把这个组件对象加入到当前的容器中(并不一定是窗体)。

文本框组件:JTextField  jtxt =new  JTextField();

图片标签:  JLabel  imgLable1 =new JLabel();新建一个标签,但是变量名尽量设置为知名见义,自己知道是图片的标签。

Image img=newImageIcon("im/3.jpg").getImage();从指定的路径中得到我们需要的图片

img=img.getScaledInstance(200,200, 1);将需要的图片压缩至200*200的像素

imgLable1.setIcon(newImageIcon(img))将压缩后的图片加入到标签中;

imgLable1.setBounds(50,100,200,200);设置图片标签的大小位置

this.add(imgLable1);加入当前对象

 

JButtonbutton =new JButton("确定");按钮组件

JComboBoxbox =new  JComboBox();下拉框

JRadioButtonradio1 =new JRadioButton("男");

JRadioButtonradio2 =new JRadioButton("女");单选框,每个选项都需要新建一个。

ButtonGroupbg = new  ButtonGroup();

       bg.add(radio1);

       bg.add(radio2);完成单选框互斥的功能

JCheckBoxjc =new   JCheckBox("记住密码");复选框
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐