07.01_面向对象(构造方法Constructor概述和格式)(掌握)

  • A:构造方法概述和作用

    • 给对象的数据(属性)进行初始化
  • B:构造方法格式特点
    • a:方法名与类名相同(大小也要与类名一致)
    • b:没有返回值类型,连void都没有
    • c:没有具体的返回值return;

07.02_面向对象(构造方法的重载及注意事项)(掌握)

  • A:案例演示

    • 构造方法的重载
    • 重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
  • B:构造方法注意事项
    • a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
    • b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
      • 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法

07.03_面向对象(给成员变量赋值的两种方式的区别)

  • A:setXxx()方法

    • 修改属性值
  • B:构造方法
    • 给对象中属性进行初始化

07.04_面向对象(学生类的代码及测试)(掌握)

  • A:案例演示

    • 学生类:

      • 成员变量:

        • name,age
      • 构造方法:
        • 无参,带两个参
      • 成员方法:
        • getXxx()/setXxx()
        • show():输出该类的所有成员变量值
  • B:给成员变量赋值:
    • a:setXxx()方法
    • b:构造方法
  • C:输出成员变量值的方式:
    • a:通过getXxx()分别获取然后拼接
    • b:通过调用show()方法搞定

07.05_面向对象(手机类的代码及测试)(掌握)

  • A:案例演示

    • 模仿学生类,完成手机类代码

07.06_面向对象(创建一个对象的步骤)(掌握)

  • A:画图演示

    • 画图说明一个对象的创建过程做了哪些事情?
    • Student s = new Student();
    • 1,Student.class加载进内存
    • 2,声明一个Student类型引用s
    • 3,在堆内存创建对象,
    • 4,给对象中属性默认初始化值
    • 5,属性进行显示初始化
    • 6,构造方法进栈,对对象中的属性赋值,构造方法弹栈
    • 7,将对象的地址值赋值给s

07.07_面向对象(长方形案例练习)(掌握)

  • A:案例演示

    • 需求:

      • 定义一个长方形类,定义 求周长和面积的方法,
      • 然后定义一个测试类进行测试。

07.08_面向对象(员工类案例练习)(掌握)

  • A:案例演示

    • 需求:定义一个员工类Employee
    • 自己分析出几个成员,然后给出成员变量
      • 姓名name,工号id,工资salary
    • 构造方法,
      • 空参和有参的
    • getXxx()setXxx()方法,
    • 以及一个显示所有成员信息的方法。并测试。
      • work

07.09_面向对象(static关键字及内存图)(了解)

  • A:案例演示

    • 通过一个案例引入static关键字。
    • 人类:Person。每个人都有国籍,中国。
  • B:画图演示
    • 带有static的内存图

07.10_面向对象(static关键字的特点)(掌握)

  • A:static关键字的特点

    • a:随着类的加载而加载
    • b:优先于对象存在
    • c:被类的所有对象共享
      • 举例:咱们班级的学生应该共用同一个班级编号。
      • 其实这个特点也是在告诉我们什么时候使用静态?
        • 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
      • 举例:
        • 饮水机(用静态修饰)
        • 水杯(不能用静态修饰)
        • 共性用静态,特性用非静态
    • d:可以通过类名调用
      • 其实它本身也可以通过对象名调用。
      • 推荐使用类名调用。
      • 静态修饰的内容一般我们称其为:与类相关的,类成员
  • B:案例演示
    • static关键字的特点

07.11_面向对象(static的注意事项)(掌握)

  • A:static的注意事项

    • a:在静态方法中是没有this关键字的

      • 如何理解呢?

        • 静态是随着类的加载而加载,this是随着对象的创建而存在。
        • 静态比对象先存在。
    • b:静态方法只能访问静态的成员变量和静态的成员方法
      • 静态方法:

        • 成员变量:只能访问静态变量
        • 成员方法:只能访问静态成员方法
      • 非静态方法:
        • 成员变量:可以是静态的,也可以是非静态的
        • 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
      • 简单记:
        • 静态只能访问静态。
  • B:案例演示
    • static的注意事项

07.12_面向对象(静态变量和成员变量的区别)(掌握)

  • 静态变量也叫类变量 成员变量也叫对象变量
  • A:所属不同
    • 静态变量属于类,所以也称为为类变量
    • 成员变量属于对象,所以也称为实例变量(对象变量)
  • B:内存中位置不同
    • 静态变量存储于方法区的静态区
    • 成员变量存储于堆内存
  • C:内存出现时间不同
    • 静态变量随着类的加载而加载,随着类的消失而消失
    • 成员变量随着对象的创建而存在,随着对象的消失而消失
  • D:调用不同
    • 静态变量可以通过类名调用,也可以通过对象调用
    • 成员变量只能通过对 象名调用

07.13_面向对象(main方法的格式详细解释)(了解)

  • A:格式

    • public static void main(String[] args) {}
  • B:针对格式的解释
    • public 被jvm调用,访问权限足够大。
    • static 被jvm调用,不用创建对象,直接类名访问
    • void被jvm调用,不需要给jvm返回值
    • main 一个通用的名称,虽然不是关键字,但是被jvm识别
    • String[] args 以前用于接收键盘录入的
  • C:演示案例
    • 通过args接收键盘例如数据

07.14_面向对象(工具类中使用静态)(了解)

  • A:制作一个工具类

    • ArrayTool
    • 1,获取最大值
    • 2,数组的遍历
    • 3,数组的反转

07.15_面向对象(说明书的制作过程)(了解)

  • A:对工具类加入文档注释
  • B:通过javadoc命令生成说明书
    • @author(提取作者内容)
    • @version(提取版本内容)
    • javadoc -d 指定的文件目录 -author -version ArrayTool.java
    • @param 参数名称//形式参数的变量名称@return 函数运行完返回的数据

07.16_面向对象(如何使用JDK提供的帮助文档)(了解)

  • A:找到文档,打开文档
  • B:点击显示,找到索引,出现输入框
  • C:你应该知道你找谁?举例:Scanner
  • D:看这个类的结构(需不需要导包)
    • 成员变量 字段
    • 构造方法 构造方法
    • 成员方法 方法

07.17_面向对象(学习Math类的随机数功能)(了解)

  • 打开JDK提供的帮助文档学习
  • A:Math类概述
    • 类包含用于执行基本数学运算的方法
  • B:Math类特点
    • 由于Math类在java.lang包下,所以不需要导包。
    • 因为它的成员全部是静态的,所以私有了构造方法
  • C:获取随机数的方法
    • public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
  • D:我要获取一个1-100之间的随机数,肿么办?
    • int number = (int)(Math.random()*100)+1;

07.18_面向对象(猜数字小游戏案例)(了解)

  • A:案例演示

    • 需求:猜数字小游戏(数据在1-100之间)

07.19_day07总结

把今天的知识点总结一遍。

【Java基础】【07面向对象-构造方法&静态static】的更多相关文章

  1. oopday02(面向对象-构造方法&静态static)

    面向对象之封装 01_面向对象(构造方法Constructor概述和格式) * A:构造方法概述和作用 * 给对象的数据(属性)进行初始化 * B:构造方法格式特点 * a:方法名与类名相同(大小也要 ...

  2. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  3. 《Java基础——构造器(构造方法)》

    Java基础--构造器(构造方法)       总结: 1.构造器名应与类名相同,且无返回值. 2."new 方法"的本质就是在调用构造器. 3.构造器的作用--初始化对象的值. ...

  4. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  5. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  6. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  7. Java基础语法 - 面向对象 - 局部变量

    如果在一个成员方法内定义一个变量,那么这个变量就被称为局部变量. 局部变量在方法执行时被创建,在方法执行结束时被销毁.局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误 package m ...

  8. Java基础语法 - 面向对象 - static 关键字

    使用static关键字修饰的变量.常量和方法分别被称作静态变量.静态常量和静态方法,也被称作类的静态成员 静态变量 使用static修饰过的类变量称为静态变量 该变量需要使用类名.变量名进行调用,不能 ...

  9. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

随机推荐

  1. The First of my text

    JavaScript 学习第一天 一.属性可以动态拓展 例如: var person = { name : "zs"; age : 21; } person.sex = " ...

  2. Openjudge — 7624 山区建小学

    问题描述 政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往.已知任意两个相邻的村庄之间的距离为di(为正整数),其中,0 < i & ...

  3. C++进阶:新人易入的那些坑 --1.常量、常指针和指针常量

    声明:以下内容B站/Youtube学习笔记,https://www.youtube.com/user/BoQianTheProgrammer/ Advanced C++. /* why use con ...

  4. Cocos2d-js和Android交互

    说白了,就是JavaScript和Java之间的函数互相调用. 先看一下效果 有了这个交互,为了以后接sdk做准备. 要点: javascript调用java: jsb.reflection.call ...

  5. C# 对串口的操作

    初始化 串口 SerialPort sp = new SerialPort(); sp.PortName = BasicParameters.IniReadValue(strPath, "C ...

  6. Egg 中 Controller 最佳实践

    得益于 JavaScript 加入的 decorator 特性,可以使我们跟 Java/C# 一样,更加直观自然的,做面向切面编程.而随着 TypeScript 的成熟,类型系统也让我们增强了信心,面 ...

  7. vue项目实践-前后端分离关于权限的思路

    前后端分离后权限的思路 最近看到许多关于权限的思路,但好像都是使用动态加载路由的方式,现在也分享下我在项目中使用的解决方案. 前后端分离关于权限的处理每个人都不一样,根据项目选择制定合适的方案就好 我 ...

  8. Dubbo支持的协议的详解

    Dubbo支持dubbo.rmi.hessian.http.webservice.thrift.redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的.下面我们就针对Dubbo的每种协 ...

  9. Java高并发缓存架构,缓存雪崩、缓存穿透之谜

    面试题 了解什么是 redis 的雪崩.穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透? 面试官心理分析 其实这是问到缓存必问的,因为缓存雪崩和穿透,是 ...

  10. Node.js(day3)

    一.模块系统 1.什么是模块 Node.js中常用的核心模块有: http模块 fs文件系统模块 url模块 path模块 os系统模块 在使用Node.js中我们发现每个js之间是没有联系的,都是单 ...