面向过程

  每一个具体的步骤都亲力亲为,详细处理每一个细节

面向对象

  不关心具体步骤,而是找一个已经具有该功能的人来帮我做事

特点

  封装性

  继承性

  多态性

  是一组相关属性和行为的集合

  成员变量(属性):该事物的状态信息

  成员方法(行为):该事物能做什么

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

类的定义格式

  修饰符 class 类名{

  }

如何使用类

  1.导入包(同一包中可省略)

  2.创建 类名称 对象名 = new 类名称();

  3.使用 对象名.成员变量 或 对象名.成员方法

成员方法定义格式

  修饰符(不加static)返回值类型 方法名(参数类型 参数名){

  方法体;

  }

一个对象调用一个方法内存图

成员方法保存的是一个地址值

两个对象调用同一个方法内存图

一个引用,作为参数转递到方法

使用对象类型作为方法的返回值

成员变量与局部变量区别

  1.定义位置不同:成员变量定义在类中方法外,局部变量定义在方法中

  2.作用范围不同:成员变量全类通用,局部变量只能在本方法中使用

  3.默认值不同:成员变量根据数据类型不用有不用的默认值,局部变量没有默认值

  4.内存位置不同:成员变量在堆内存,局部变量在栈内存

  5.生命周期不同:成员变量随着对象的诞生而诞生,随着对象被垃圾回收而消失;局部变量随着方法进栈而诞生,随着方法出栈而消失

封装

  方法是一种封装

  关键字private也是一种封装

  将一些细节信息隐藏起来,对外不可见

private修饰的成员变量不能被其他类直接访问,但可以间接访问:设置一对Getter/Setter方法

this关键字

  如果方法的局部变量与成员变量重名时,根据就近原则访问的是方法中的局部变量,如果需要访问本类中的成员变量,格式为 this.成员变量

  通过谁调用方法,谁就是this

类的构造方法

  专门用来创建对象的方法

  格式:

    修饰符 类名称 (参数类型 参数名称){

      方法体

     }

   注意事项

    1.构造方法没有返回值

    2.构造方法的名称要与类名称相同

    3.如果没有编写构造方法,那么编译器就会赠送一个无参的构造方法,而该方法的方法体什么都不干

    4.一旦编写了至少一个构造方法,编译器就不会赠送构造方法

    5.构造方法可以重载

定义一个标准的类

  1.每个成员变量都用private修饰

  2.为每个成员变量设置一对Getter/Setter

  3.编写一个无参的构造方法

  4.编写一个全参的构造方法

java-day06的更多相关文章

  1. java - day06 - arraycopy

    package day05; import java.util.Arrays; import java.util.Random; /* * 附:如果需要使用引用类,如Random类的方法, * 需要新 ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. 2017-2018-1 JAVA实验站 冲刺 day06

    2017-2018-1 JAVA实验站 冲刺 day06 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结.博客.小组成员头像 100% 齐力锋 找背按钮声音 100% 张浩 ...

  4. java 多线程 day06 threadLocal

    import java.util.HashMap;import java.util.Map;import java.util.Random; /** * Created by chengtao on ...

  5. Java 学习 day06

    01-面向对象(Static关键字) package myFirstCode; /* 静态:static. 用法:是一个修饰符,用于修饰成员(成员变量,成员函数) 当成员被静态修饰后,就多了一个调用方 ...

  6. Java之路---Day06

    2019-10-20-23:13:52 目录内容: 1.Scanner类 2.匿名对象 3.Random类 4.对象数组 Scanner类 功能:实现键盘输入数据到程序中 使用步骤: 1.导包: im ...

  7. Java 复习整理day06

    Java api 章节除了一下列的常用类别的用时候查文档 1 package com.it.demo01_api; 2 3 import java.util.Scanner; 4 5 /* 6 案例: ...

  8. day06 Java面向对象

    1.对象内存图 (1)1个对象的内存图:一个对象的基本初始化过程 (2)2个对象的内存图:方法的共用 (3)3个对象的内存图:其中有两个引用指向同一个对象

  9. day06 Java基础

    1.二维数组格式一(列固定):数据类型[][] 变量名=new 数据类型[m][n]; 二维数组格式二(列变化):数据类型[][] 变量名=new 数据类型[m][]; 二维数组格式三:数据类型[][ ...

  10. 黑马程序猿 ---------- Java网络技术之 ---正則表達式 (Day06)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流. ---------------------- 正則表達式 正則表達式:基本知识 1  字符, ...

随机推荐

  1. winfrom设置webBrowser框架默认的IE内核版本

    要实现设置webBrowser框架默认的IE内核版本的功能需要三个方法 1:修改注册表信息来兼容当前程序 /// <summary> /// 修改注册表信息来兼容当前程序 /// /// ...

  2. Dart编程变量

    变量是"存储器中的命名空间",用于存储值.换句话说,它作为程序中值的容器.变量名称称为标识符.以下是标识符的命名规则 - 标识符不能是关键字. 标识符可以包含字母和数字. 标识符不 ...

  3. 凑出和相等的k组数,玄学结论——hdu6616

    [1,n]n个数分成k组,每组n/k个,问k组数和相等的解决方案 首先(1+n)*n/2判定一下是否可以被k整除 n/k为偶数时显然成立 n/k为奇数时每组数前三个很难配,我想了一种玄学的结论,也证明 ...

  4. Detours的使用准备

    Detours是微软开发的一个函数库,可用于捕获系统API.在用其进行程序开发之前,得做一些准备工作: 一.下载Detours 在http://research.microsoft.com/sn/de ...

  5. Metasploit 模块和位置

    Metasploit Framework由许多的模块组成的. 一.Exploits(漏洞模块) 定义为使用“有效载荷(payloads)”的模块 没有“有效载荷”的攻击是辅助模块 二.Payloads ...

  6. 剑指offer——19删除链表的节点

    题目一: 在O(1)时间内删除链表节点.给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点. 书本讲得不明就里 class Solution { void DeleteNode ...

  7. 图文形式分享网页到facebook (要求:可以多个图片切换选择)

    分享网页到facebook的功能很常见,之前都是简单的网页分享,没遇到什么砍儿.这次的需求相比之前有一丁点特殊,就是图片得是用户指定选择的. fb文档地址:https://developers.fac ...

  8. tcp_tw_recycle和tcp_timestamps的一些知识(转)

    现在很多公司都用LVS做负载均衡,通常是前面一台LVS,后面多台后端服务器,这其实就是NAT,当请求到达LVS后,它修改地址数据后便转发给后端服务器,但不会修改时间戳数据,对于后端服务器来说,请求的源 ...

  9. flask-Local源码流程解析

    flask中Local源码数据类型首先明确:源码中要构造的数据类型数是这样的: __storage__ = { 用线程或者协程的唯一标识为键: {stack:[ctx(session/request) ...

  10. JS对象 字符串分割 split() 方法将字符串分割为字符串数组,并返回此数组。 语法: stringObject.split(separator,limit)

    字符串分割split() 知识讲解: split() 方法将字符串分割为字符串数组,并返回此数组. 语法: stringObject.split(separator,limit) 参数说明: 注意:如 ...