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. z-index优先级小结

    z-index是深度属性,设置元素在z轴上面的堆叠顺序. 强调:z-index必须和定位元素position:absollute|relative|fixed一起使用,否则无效 1.z-index属性 ...

  2. deeplearning.ai 神经网络和深度学习 week1 深度学习概论

    1. 预测房价.广告点击率:典型的神经网络,standard NN. 图像:卷积神经网络,CNN. 一维序列数据,如音频,翻译:循环神经网络,RNN. 无人驾驶,涉及到图像.雷达等更多的数据类型:混合 ...

  3. HDU-1164-Eddy's research I(分解质因数)

    由于这道题目数据范围小,所以属于水题.可以采取暴力的做法来解决. 代码如下: #include"bits/stdc++.h" using namespace std; ; ]; v ...

  4. WEB前端资源集(二)

    在上一篇为大家整理出了一些资源网站,接下来给大家整理了一些开发中常用的工具. 开发工具篇 开发工具集 Sublime Text 3:SublimeText 3是一个代码编辑器,也是HTML和散文先进的 ...

  5. [洛谷P4777] [模板] 扩展中国剩余定理

    扩展中国剩余定理,EXCRT. 题目传送门 重温一下中国剩余定理. 中国剩余定理常被用来解线性同余方程组: x≡a[1] (mod m[1]) x≡a[2] (mod m[2]) ...... x≡a ...

  6. 前进中的人工智能——聚焦Faculty Summit 2015人工智能主题研讨会

    Summit 2015人工智能主题研讨会" title="前进中的人工智能--聚焦Faculty Summit 2015人工智能主题研讨会"> 在近几年上映的科幻大 ...

  7. BTCU(高校区块链联盟)-联盟链第6讲作业

    // payment project main.go package main import ( "fmt" "strconv" "github.co ...

  8. 【Android TimeCat】 解决cannot resolve symbol R

    莫名其妙出现了,鬼知道怎么来的. 解决方法总结 1. 推荐 解决90%的情况: Build->Clean ProjectBuild->Rebuild Project 2. 不常见 Andr ...

  9. 有关终端的一些tips

    reg.exe是用于操作注册表的命令,可以通过reg /?来查看所有参数,在pentest中有两个很实用的参数 reg query 读取注册表信息, reg add 添加或修改注册表内容. 设想如下场 ...

  10. JavaScript的封装和继承

    提到JavaScript"面向对象编程",主要就是封装和继承,这里主要依据阮一峰及其他博客的系列文章做个总结. 继承机制的设计思想 所有实例对象需要共享的属性和方法,都放在这个对象 ...