java基础--第八天

考虑年龄的输入需要判定引入:

封装:
  定义:隐藏事物的属性与实现的细节,只提供公共方法进行操作。
  private关键字:
    访问权限修饰符;可以修饰成员变量及函数;是封装的一种表现形式,还有类、函数等形式。
  set/get方法的说明:
    需要提供公共方法,才能访问被private修饰的成员变量。
    set方法主要是修改成员变量的值;
    get方法主要是获取成员变量的值。
      注意:set/get并不一定一起出现,根据实际需求来使用相应的功能。
  this关键字:
    是当前所属成员函数类对象的引用。
    每个类内方法都有一个默认的this。
      作用:解决局部变量隐藏成员变量的问题【就近原则】
构造方法:
  方法名跟类名一样,没有确定的返回值类型,没有返回值。
    作用:成员变量初始化
      没有显示写出构造方法时,系统默认提供无参构造方法;只要有显示写出构造方法,默认构造函数不再提供。
      【自己写无参构造函数 VS 默认无参构造函数】
        建议:自己在每一个类中添加一个无参构造函数。
  构造方法重载:【参数列表不同】
  构造代码块:
    代码块:在{}内的代码;
    作用:将构造方法内的共同代码集合在一起,且优先于构造方法执行。
关于初始化相关操作执行顺序:
    默认初始化-》显示初始化-》构造代码块-》构造函数
  static关键字:【资源共享】
    static修饰成员变量特点:
      A:随类的加载而加载; B:优先于类对象而存在;
      C:修饰的成员变量被所有对象共享;
      D:可以直接用类名.的方式调用。
    注意事项:
      A:static修饰的方法中,没有this关键字;
      B:静态方法只能访问静态变量,非静态方法都可以调用;
      C:可以使用类名.的方式调用。
文档注释:
    格式: /** */
    格式关键字:@author 作者 @version 版本 @param 参数 @return 返回值
    文档生成命令示例: 【目标目录】 【源文件名】
      javadoc -d d:\\ -author - version ArraryTest.java
API应用:
    Math类
      [ abs()//绝对值 ceil()//天花板值 floor()//地板值 round()//四舍五入【+0.5】
      random()//产生随机值[0.0,1.0) max()//最大值 min()//最小值 ]
猜数字游戏

1:封装
  (1)隐藏实现的细节,提供公共的访问方式。
      类,方法等其实都是封装的具体体现。
  (2)private关键字
      A:用于修饰成员变量和成员方法。
      B:被修饰的内容在其他类中是不可以被访问的。
  (3)常见的应用:
    类中的所有成员变量私有,给出对应的get/set方法。

代码体现:

class Student
{
  private String name;
  private int age;

  public Student(){}

  public Student(String name,int age)
  {
    this.name = name;
    this.age = age;
  }

  public void setName(String name)
  {
    this.name = name;
  }

  public String getName()
  {
    return name;
  }

  public void setAge(int age)
  {
    this.age = age;
  }

  public int getAge()
  {
    return age;
  }
}

2:构造方法
  (1)格式及特点
    格式:
    访问权限修饰符 类名(参数...){}

    访问权限修饰符:
    public,private
  特点:
    A:方法名和类名相同
    B:没有返回值类型
    C:没有具体的返回值
  (2)注意事项:
    A:如果你不给构造方法,jvm会自动给你一个无参构造方法。
    B:如果你给出了构造方法,那么,jvm将不再提供无参构造方法。
  这个时候,你如果要使用无参构造方法:只能自己提供

    推荐:永远手动给出无参构造方法。

3:this关键字(掌握)
  (1)是一个关键字。代表当前类对象的引用。
    简单记:在方法中,哪个对象调用方法,this就代表谁。
    除了静态方法外,所有的方法中有隐含的有一个this引用
  (2)应用场景:
    解决局部变量隐藏成员变量问题。

4:static关键字
  (1)是一个关键字。可以修饰成员变量和成员方法。
  (2)静态的特点:
    A:随着类的加载而加载
    B:优先于对象存在
    C:被类的所有对象共享
    D:可以通过类名调用
  (3)静态的注意事项:
    A:在静态方法中是没有this关键字的。
    B:静态方法只能访问静态成员。
  (4)静态内容的调用:
    A:被对象调用
    B:被类名调用

    推荐被类名调用。
  (5)什么时候该用static呢?
    如果某个内容是所有对象共享的,就用静态修饰。
    举例:
      水杯和饮水机。
      厕所和人。
      老师和学生。

5:Math类的随机数(掌握)
    类名调用静态方法。

  包:java.lang
  类:Math
  方法:public static double random():

  java.lang包下的类是不用导包就可以直接使用的。

  产生1-100之间的随机数:
  int number = (int)(Math.random()*100)+1;

时间: 2024-10-11 08:16:00

java基础--第八天的相关文章

Java基础第八天听课总结(2)--多线程&Thread

进程 在任务管理器中查看进程,应用程序对应一个进程 进程之间的内存是隔离的,进程间是通过套接字通信Socket通信 什么是线程? ------------------------------ 线程是程序执行过程中,并发执行的代码段 线程之是可以共享内存. 线程的执行是从上往下按序执行的. 创建线程方式一 继承Thread 子类覆盖中的run方法,将线程执行的代码存放在run中 建立子类对象的同时线程也被创建. 通过调用start方法开启线程 Thread是线程类 start() //通知CPU可

java基础第八天_多线程

1. 5辆汽车过山洞,依次经过山洞.每辆车通过山洞花费10秒,使用多线程实现. 2. 用多线程模拟蜜蜂和熊的关系. 蜜蜂是生产者,熊是消费者.蜜蜂生产蜂蜜是累加的过程,熊吃蜂蜜是批量(满100吃掉)的过程. 生产者和消费者之间使用通知方式告知对方.注意不能出现死锁的现象. 1. 5辆汽车过山洞,依次经过山洞.每辆车通过山洞花费10秒,使用多线程实现. class Car extends Thread{ private String name; private static Object lock

大数据Java基础第八天作业

第一题: class Car extends Thread{     private String name;     private Locked lock;     public Car(String name,Locked lock){         this.name = name;         this.lock = lock;     }     public void run(){         synchronized(lock){             System.

java基础第八天

/* 1. 5辆汽车过山洞,依次经过山洞.每辆车通过山洞花费10秒,使用多线程实现. class Shan { } class Car extends Thread { Shan shan; String name; public Car(String name, Shan shan) { this.name = name; this.shan = shan; } public void run() { synchronized (shan) { System.out.println("wo i

Java基础-类

Java基础第八天 类的初始化过程 Student s = new Student();在内存中做了哪些事情? 加载Student.class文件进内存 在栈内存为s开辟空间 在堆内存为学生对象开辟空间 对学生对象的成员变量进行默认初始化 对学生对象的成员变量进行显示初始化 通过构造方法对学生对象的成员变量赋值 学生对象初始化完毕,把对象地址赋值给s变量 面向对象练习 定义一个类Demo,其中定义一个求两个数据和的方法,定义一个测试了Test,进行测试.   /* 定义一个类Demo,其中定义一

-Java基础-Java介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. java的介绍 1.1java简介 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言. 它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机.电话.闹钟.烤面包机等家用电器的控制和通讯问题.由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划.就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机

第3篇-JAVA基础

第3篇-JAVA基础 每篇一句 :目标是给梦想一个期限,行动与坚持就是实现梦想的过程 初学心得: 遇到困难或问题,它不是休止符,而是引向你如何解决问题的标识 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-03-26| JAVA基础 Ⅱ] 上篇回顾 上篇文章中我们学习了JAVA底层的运行机制与深入剖析以及解释其中JAVA基础代码的含义 本篇文章将JAVA基础Ⅱ全面剖析解释,因为JAVA基础非常重要,务必要牢记知识点!!! 1.JAVA基础语法格式 JAVA采用unicode编码 1

Java基础学习第五天——方法与数组

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.24 lutianfei none 第三章Java基础语法 方法 方法就是完成特定功能的代码块,即函数. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2-) { 函数体; return 返回值; } 详细解释: 修饰符,目前就用public static,后详解. 返回值类型:就是功能结果的数据类型. 方法名:符合命名规则即可,方便我们的调用. 参数: 实际参数:就是实际参与运算的.

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J