Java基础之类与对象

来源:互联网 发布:微信封号 知乎 编辑:程序博客网 时间:2024/05/21 06:49
Java语言是面向对象分析(面向过程)的编程语言1)类与对象类:生活中具有共同特征的一个集合对象:具有共同特征的集合里的一员例如人类:共同特征(性别、姓名、年龄、身高、体重、是否婚配....)  共同行为(吃饭、睡觉、玩游戏、打球、学习、走路、跑.....)  面向对象、面向过程生活中一件事情 =  对象(执行者) + 过程(执行流程)面向对象----关注对象(关注事情的执行者是谁)->>结果不确定(灵活)面向过程----关注过程(关注事情的执行流程是怎么样的)->>结果确定(死板)2)面向对象编程分析(OOP编程)张三(对象)老师正在给李四学生上课(方法)基本语法:1)一个类对应一个java文件2)属性(特征)的定义格式:public 类型 属性名;3)方法(行为)的定义格式:public 返回类型  方法名(参数列表){}4)创建对象的格式:类名 对象名 =  new  类名();5)调用属性:对象名.属性名6)调用一般方法:对象名.方法名(具体内容)7)调用静态方法:类名.方法名()
面向对象三大特性:继承性、多态性、封装性1.构造(构造方法)构造方法基本格式:public 类名(参数列表){}作用:构造对象,创建对象的时候自动调用引用传递:对象的地址进行交换废除的空间,有java虚拟机垃圾回收机制进行回收2.重载定义:同一个类当中,多个方法的方法名相同,参数列表不同(参数个数、参数顺序、参数类型)的方法,互为重载方法构造函数重载:创建一个对象,只能调用一个构造函数作用:初始化对象的属性3.继承(子类和父类关系)extends定义 :子类继承父类通过extends关键字实现
       如:A继承B类
       语法:类型 class A类 extends B类  子类可以继承到父类的所有的非私有属性和方法(构造方法除外)  作用:动态的进行拓展类的功能4.方法重写定义:子类重写父类的方法,方法名、参数、返回类型必须相同子类重写父类方法:用于覆盖父类继承过来的函数5.自动转型子类类型的对象自动转型为父类类型的引用,最终是父类类型的转型后的对象:调用方法,如果子类重写了父类的方法,则调用的是重写后的,如果没有重写,则依然调用的是父类自己的如:class A和class B
class A extends B
B b = new A();
注释:b调用B类拥有的被A类重写的方法,如没有方法被重写,则调用原方法6.多态多个同一个类型的引用,调用同一个方法,执行的流程不一样7.this当前类的对象
注释:该方法被谁调用,this便指的调用的对象
如:A a=new A();
a.show()
public void show()
{
    system.out.println(this.name);
}
此处this便指的是a;
用java编写面向对象的电脑界面管理1)界面实现2)监听实现(监听按钮)

3)命令操作

package second;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;public class ConputerOperation extends JFrame{public static void main(String[] args) {ConputerOperation a=new ConputerOperation("登录界面");a.test();}public ConputerOperation(String b) {this.setTitle(b);}public void test(){//final JFrame jf=new JFrame();    this.setSize(300, 200);    this.setLocationRelativeTo(null);    FlowLayout fl=new FlowLayout();    this.setLayout(fl);    final JButton jb1=new JButton("关机");    JButton jb2=new JButton("进入浏览器");    JButton jb3=new JButton("运行QQ");    this.add(jb1);    this.add(jb2);    this.add(jb3);    ActionListener action=new ActionListener()    {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString str=arg0.getActionCommand();if("关机".equals(str)){Runtime run=Runtime.getRuntime();try {run.exec("shutdown -s -t 10");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}jb1.setText("取消关机");}else if("进入浏览器".equals(str)){Runtime run=Runtime.getRuntime();try {run.exec("explorer http://www.baidu.com");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else if("运行QQ".equals(str)){Runtime run=Runtime.getRuntime();try {run.exec("\"C:/Program Files (x86)/Tencent/QQ/Bin/QQ.exe\"");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else if("取消关机".equals(str)){Runtime run=Runtime.getRuntime();try {run.exec("shutdown -a");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}jb1.setText("关机");}}        };    jb1.addActionListener(action);    jb2.addActionListener(action);    jb3.addActionListener(action);    this.setVisible(true);}}

0 0
原创粉丝点击