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基础之面向对象思想的重要性

大学时期觉得面向对象思想之类基础课程没什么卵用,最近维护一些老项目才发现,尼玛,以前觉得没用是因为身边的人基本都会,当你身边的人不会时你就会觉得很有用了。不会面向对象的人要实现多个略有不同的功能时往往...
  • caizhegnhao
  • caizhegnhao
  • 2015年07月02日 23:18
  • 1418

java面向对象基础 练习 +答案

java面向对象基础 练习 +答案
  • javaniuniu
  • javaniuniu
  • 2016年08月15日 16:26
  • 3980

Java面向对象语法基础

面向对象:(1)可以使用类定义变量,使用类定义的变量都是引用变量。 (2)java程序使用类的构造器来创建该类的对象。 (3)java支持面向对象的三大特征:继承,封装和多态。java提供了pri...
  • zlz18225318697
  • zlz18225318697
  • 2016年09月19日 16:50
  • 289

Java 面向对象(基础) 知识点总结I

1、   类与对象的区别,类是对象的模板,对象是类的实例 2、   创建类的语法:class 类名称{},类中由属性及方法组成 3、   对象的创建语法:          · 声明对象:类名称 对象...
  • aikongmeng
  • aikongmeng
  • 2013年05月28日 13:30
  • 2701

java基础面试题:java笔记题收集(一)

1、面向对象的特征有哪些方面?  - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。  - 继承:继...
  • chenpeng19910926
  • chenpeng19910926
  • 2016年08月02日 16:09
  • 570

Java中初始化基础类

Java中初始化基础类: (1)类中的构造函数无参; (2)类中的构造函数含有自变量。...
  • xiaoxiaoxiaohaozi
  • xiaoxiaoxiaohaozi
  • 2016年03月21日 09:23
  • 563

COM对象与其基础RCW分开后就不能再使用

RCW是一个.NET和COM之间的桥梁,上述错误就是在于COM那一段的陆地消失了,你再想走着这桥,系统就报错了, 这种问题多半是COM对象被意外销毁或者没有抛出异常就崩溃导致。  解决问...
  • wmg494005678
  • wmg494005678
  • 2013年02月18日 11:12
  • 14150

java入门、java学习:如何理解Java面向对象

首先要说明一点,对象不是java的,事实上他只是一种概念,一种用于解决问题的程序设计的思想方法。要理解对象就必须得要和面向对象结合起来。在面向对象中把某一类事物所共有的属性和行为抽象出来之后就形成了一...
  • javaniuniu
  • javaniuniu
  • 2016年05月23日 10:59
  • 1893

JAVA面向对象基础 对象 类 方法学习笔记

面向对象基础 类  构造   对象  使用对象   对象.方法() 类:[访问控制符]  class 类名{ } 属性:[访问控制符]  数据类型  变量名; 方法:[访问控制符]  void|返...
  • zhangyufeng0126
  • zhangyufeng0126
  • 2016年05月29日 16:08
  • 1184

java基础知识巩固作业题及完全解析

java竞赛题及完全解析,图文+解释,一目了然。
  • sinat_29398599
  • sinat_29398599
  • 2016年10月08日 17:09
  • 794
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础之类与对象
举报原因:
原因补充:

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