Java 基础知识(六)

第六章 Java基础 面向对象 (一)
一. 面向对象的 由来 概念 及 定义和 基本理解
1)面向过程(是一种思想):对于面向过程的思想就是强调的是过程(动作) c 就是面向对象的代表。
示例: 把大象装进冰箱 1)打开(冰箱); 2) 储存( 大象 ) ;3)关上(冰箱);
2)面向对象(也是种思想):对于面向对象的思想强调的是对象(实体)
示例:把大象装进冰箱 1)冰箱(打开);2)冰箱(储存);3)冰箱(关上);(c++,c#, j)
3)面向对象的特点:
1)面向对象就是常见的思想,符合人们思考的习惯。
2)面向对象的出现,把复杂的的问题简单化。
3)面向对象的出现,让曾经在过程中的执行者,变成了对象的指挥者。
示例: 比如 以前你要买电脑是自己去 看机 报价 砍价
现在你还是买电脑 但是你让你同学(对象)去买
在这个示例中 你的这个同学就是对象 你同学有这些买电脑功能
万事万物皆对象,一切皆对象。
4)面向对象的三个特征:封装 ,继承,多态。
用面向对象开发程序 必须体现 面向对象的特征体现出来。
示例: 你给同学打电话 你把打电话这个功能定义在那个对象中呢?
答:示例中 你 和 电话都是对象 但是电话最清楚怎么去实现打电话的功能,所以应该在电
话这个对象中。在你给同学打电话的过程中 是你调用了 电话 实现打电话的方法,实现打电话功能。
二. 类与对象的关系
1)怎么将现实生活中的事物在计算机中体现出来能?
答:在Java中是通过类的形式来体现的
2)怎么将现实生活中的事物描述出来呢?
答:对于事物的描述只关注两方面,一个是属性,一个是行为。
3)怎么在计算机中将事物描述出来?
答:在现实生活中我们 手机可以通过生产车间来生产出来;
在计算机中我们同样可以实现 用关键字 new一个对象
只要明确该事物的属性和行为并定义在类中即可。
对象就是该类事物实实在在的个体。
4)类与对象的关系?
答: 类:就是对事物的描述。
对象:该类事物的实例。在Java中通过new来创建的。
例题 1:package Tigerzixueji.mianxiangduixiang;
/*描述 手机
分析:
1.属性: 按键 显示屏 品牌 颜色 手机套 保护膜
2.行为: 打电话(我们打电话的功能用打印体现下)
* */
public class mxdx1{
public static void main(String[] args) {
Phone a = new Phone();//在计算机中 创建Phone的实例
a.anjian=0;//a 就是引用类型的引用变量,指向该类的对象
a.baohumo=14;
a.pinpai=”iphone”;
a.xianshi=14;
a.take();//要使用对象中的内容可以通过,对象,
/* 成员的形式来完成调用*/}

 public static class Phone{
     public int anjian;
     public int xianshi;
     public String pinpai;
     public int shojitao;
     public int baohumo;

     public  void take(){
    System.out.println("按键:"+anjian);
    System.out.println("显示屏:"+xianshi);
    System.out.println("品牌:"+pinpai);
    System.out.println("手机套:"+shojitao);
    System.out.println("保护膜:"+baohumo);}

示例图:这里写图片描述

定义类 其实就是定义类中的成员
类的成员:成员变量 (属性) 成员函数(行为);

解答疑惑: 成员变量和局部变量的区别?
区别 1)成员变量定义在类中,整个函数都可以访问
局部变量定义在函数中,语句 局部代码块中,只在所属的区域有效
区别2)成员变量存在于堆内存的对象中
局部变量存在于栈的内存的方法中
区别3)成员变量随着对象创建而存在,随着对象的消失而消失
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
区别4)成员变量都有默认初始化值
局部变量没有默认的初始化值
误区: a.baohumo=14; 不是 给public int baohumo;赋值
a.baohumo=14 是给 对象Phone a = new Phone(); 赋值
匿名对象 1)定义:就是没有名字的对象
new Phone(); 匿名对象就是定义对象的简写
2)使用方式: 1)当对象对方法仅进行一次调用的时候 可以简化成匿名对象
例如: Phone a= new Phone(); a.take(); 可以简写成 new Phone().take();
2)匿名对象可以作为实际参数进行传递

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值