Java基础之类与对象

原创 2016年05月31日 08:11:52
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()    { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub String str=arg0.getActionCommand(); if("关机".equals(str)) { Runtime run=Runtime.getRuntime(); try { run.exec("shutdown -s -t 10"); } catch (IOException e) { // TODO Auto-generated catch block e.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 block e.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 block e.printStackTrace(); } } else if("取消关机".equals(str)) { Runtime run=Runtime.getRuntime(); try { run.exec("shutdown -a"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } jb1.setText("关机"); } }        };    jb1.addActionListener(action);    jb2.addActionListener(action);    jb3.addActionListener(action);    this.setVisible(true); } }

相关文章推荐

java 基础学习什么是对象第二章练习一

package test9_2_T4; /*** * * @author HP-Developer * Car类及TestCar类 1.设计Car类属性,构造方法,启动方法,制动方法,说...

Java面向对象基础知识点复习

  • 2017年11月08日 08:18
  • 32KB
  • 下载

java基础总结06-面向对象2

1 JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类...

java面向对象基础02

  • 2015年08月05日 20:30
  • 315KB
  • 下载

java基础入门-父类引用子类对象

java基础入门 先贴上代码 package com.ray.object; /** * 父类引用子类对象 * * @author ray * @since 2015-04-30 *...

Java4Android 14_面向对象基础(三)

  • 2014年09月07日 10:38
  • 15.75MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础之类与对象
举报原因:
原因补充:

(最多只允许输入30个字)