1.面向对象与面向过程思想

  什么时面向过程:

    面向过程的每一个步骤和过程,把每一个步骤和过程完成,然后又这些功能相互调用,完成需求

    强调的时过程,所有的事情都需要自己完成

  什么时面向过程:

    面向对象思想就是不断的创建对象,使用对象,指挥对象做事

    是一种更符合我们习惯习惯的思想,可以将复杂的事情简单化.将我们从执行者变成了指挥者的角色发生改变

  

2.类与对象的概述

    环顾周围,你会发现很多对象,比如桌子,椅子,同学,老师等。桌椅属于办公用品,师生都是人类。那么什么是 类呢?什么是对象呢?  

  什么是类
    类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物。
    现实中,描述一类事物:
    属性:就是该事物的状态信息。 行为:就是该事物能够做什么。
    举例:小猫。

    属性:名字、体重、年龄、颜色。 行为:走、跑、叫。 什么是对象
    对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。
    现实中,一类事物的一个实例:一只小猫。
    举例:一只小猫。

    属性:tom、5kg、2 years、yellow。 行为:溜墙根走、蹦跶的跑、喵喵叫。

3.类与对象的关系

  类是对一类事物的描述,是抽象的。

  对象是一类事物的实例,是具体的。

  类是对象的模板,对象是类的实体。

4.类的定义

  

  事物与类的对比 
    现实世界的一类事物:

  属性:事物的状态信息。 行为:事物能够做什么。 Java中用class描述事物也是如此:

  成员变量:对应事物的属性 成员方法:对应事物的行为

类的定义格式:

   public class ClassName {

    //成员变量   //成员方法

  }

    // 定义类:就是定义类的成员,包括成员变量和成员方法。
// 成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
// 成员方法:和以前定义方法几乎是一样的。只不过把static去掉,static的作用在面向对象后面课程中再详细 讲解。 public class Student {   
//成员变量      
String name;//姓名        
int age;//年龄
    //成员方法        //学习的方法     
    publicvoid study() {
       System.out.println("好好学习,天天向上");
    }
    //吃饭的方法
    publicvoid eat() {
      System.out.println("学习饿了要吃饭");
    }
  }  

5.对象的使用

// 创建对象
// 类名 对象名 = new 类名(); // 使用对象访问类中的成员
// 对象名.成员变量
// 对象名.成员方法 // 对象的使用格式举例
public class Test01_Student {
  public static void main(String[] args) {
    //创建对象格式:类名 对象名 = new 类名();
    Student s = new Student();
    System.out.println("s:"+s);
 //cn.itcast.Student@100363
      //直接输出成员变量值
    System.out.println("姓名:"+s.name);
 //null
    System.out.println("年龄:"+s.age);
 //0
    System.out.println("‐‐‐‐‐‐‐‐‐‐");
      //给成员变量赋值
    s.name = "赵丽颖";
    s.age = 18;
      //再次输出成员变量的值
    System.out.println("姓名:"+s.name)
; //赵丽颖
    System.out.println("年龄:"+s.age);
 //18
    System.out.println("‐‐‐‐‐‐‐‐‐‐");
      //调用成员方法
    s.study();
 // "好好学习,天天向上"
    s.eat();
 // "学习饿了要吃饭"
  }

6.成员变量和局部变量的区别:

  

变量根据定义位置的不同,我们给变量起了不同的名字。如下图所示:

JAVAEE学习day06,面向对象的更多相关文章

  1. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  2. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  3. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  4. 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类

    static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...

  5. C#学习笔记——面向对象、面向组件以及类型基础

    C#学习笔记——面向对象.面向组件以及类型基础 目录 一 面向对象与面向组件 二 基元类型与 new 操作 三 值类型与引用类型 四 类型转换 五 相等性与同一性 六 对象哈希码 一 面向对象与面向组 ...

  6. PHP学习之-面向对象

    PHP学习之-面向对象 1.什么是对象 "世界万物皆对象",一切可以被抽象出来的东西都是对象.像花,草.看不到的"概念"都是对象. 2.对象的基本组成 a.属性 ...

  7. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  8. Python学习之==>面向对象编程(二)

    一.类的特殊成员 我们在Python学习之==>面向对象编程(一)中已经介绍过了构造方法和析构方法,构造方法是在实例化时自动执行的方法,而析构方法是在实例被销毁的时候被执行,Python类成员中 ...

  9. python开发学习-day06(模块拾忆、面向对象)

    s12-20160130-day06 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

随机推荐

  1. HDU1556 Color the ball [线段树模板]

    题意:区间修改序列值,最后输出. //hdu1166 #include<iostream> #include<cstdio> #include<cstring> # ...

  2. 3dmax2016卸载/安装失败/如何彻底卸载清除干净3dmax2016注册表和文件的方法

    3dmax2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2016失败提示3dmax2016安装未完成,某些产品无法安装,也有时候想重新安装3 ...

  3. UFT三种录制方式

    1.正常录制(Normal Recording) QTP默认的录制模式,这种录制模式是QTP最突出的特点,是直接对对象的操作,可以说此类模式继承了对象模型的所有优点,能够充分发挥对象库的威力.它通过识 ...

  4. Qt 多线程QThread实现方法之一

    基本思想 在主线程中,哪里需用多线程,就在哪里创建一个QThread实例: 把耗时操作封装到一个继承于QObject的子类(这里叫做工作类Worker)槽函数中: 创建QThread实例和Worker ...

  5. JavaScript学习总结(三)BOM和DOM详解

    转自:http://segmentfault.com/a/1190000000654274 DOM介绍 D(文档)可以理解为整个Web加载的网页文档,O(对象)可以理解为类似window对象只来的东西 ...

  6. inventor安装未完成,某些产品无法安装的解决方法

    inventor提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装inventor失败提示inventor安装未完成,某些产品无法安装,也有时候想重新安装inv ...

  7. 洛谷-P3809-后缀排序(后缀数组)

    看了求后缀数组的倍增法之后很快就理解了,但是自己写的倍增法用map排序还是超时了.然后看了两天别人写的模板,题目是通过了,但感觉代码还是半懂半背的.以后多熟悉熟悉吧: 后缀数组 #include &q ...

  8. Python 搭建webdriver环境遇到的问题总结

    安装过程是参考<selenium2Python自动化测试实战>中Pythonwebdriver环境搭建章节 在安装过程中,遇到了一些问题,总结一下,为日后自己再遇到相同问题做个笔记以便查看 ...

  9. jmap的使用以及内存溢出分析

    一.jmap的使用以及内存溢出分析 前面通过jstat可以对jvm堆的内存进行统计分析,而jmap可以获取到更加详细的内容,如:内存使用情况的汇总.对内存溢出的定位与分析 1.查看内存使用情况 jma ...

  10. iOS开发线程同步技术-锁

    概览 1,什么是锁(临界区)? 2,常用的锁有哪些? 3,相关链接 什么是锁(临界区) 临界区:指的是一块对公共资源进行访问的代码,并非一种机制或是算法. 常用的锁有哪些? 互斥锁:是一种用于多线程编 ...