首页 > 编程语言 >六、Java常用类:Object,Scanner

六、Java常用类:Object,Scanner

时间:2023-11-01 21:24:38浏览次数:32  
标签:Object Java Scanner 修饰符 System public String

一、Object类

Object:Class Object是类Object结构的根。 每个Class都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。

成员方法:
public int hashCode() 用来生成对象的唯一哈希码(hash code),它是用来快速比较两个对象是否相等的
public final Class getClass() 获取当前对象的类对象
public String toString() 用于返回对象的字符串表示形式
    public boolean equals(Object obj)  默认比较的是地址值
protected void finalize() 垃圾回收的
protected Object clone() 浅拷贝
   克隆(拷贝):
        浅拷贝:只是将对象整体复制一份,内部的引用地址共享一份
        深拷贝:所有的都复制一份  
package com.shujia.day08.ketang;

import java.util.Objects;

/*        Cloneable中并没有什么方法和常量,只是作为允许克隆的标记,像这样的接口叫做标记接口

    克隆(拷贝):
        浅拷贝:只是将对象整体复制一份,内部的引用地址共享一份
        深拷贝:所有的都复制一份

 */

class Demo{

}

class Dog implements Cloneable{
    String name;
    int age;
    Demo demo;

    public Dog() {
    }

    public Dog(String name, int age,Demo demo) {
        this.name = name;
        this.age = age;
        this.demo = demo;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", demo=" + demo +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Dog dog = (Dog) o;
        return age == dog.age && Objects.equals(name, dog.name);
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

public class ObjectDemo2 {
    public static void main(String[] args) throws Exception {
        Demo demo = new Demo();
        Dog d1 = new Dog("小黑", 3,demo);
        System.out.println(d1);
//        Dog d2 = new Dog("小黑", 3);
//        System.out.println(d1.equals(d2));
//
//        String s1 = new String("你好");
//        String s2 = new String("你好");
//        System.out.println(s1.equals(s2));

        Object o = d1.clone();
        System.out.println(o);
        System.out.println(d1==o);
    }
}

 二、Scanner类

概述:是jdk1.5之后出现的键盘录入

使用Scanner类可以实现以下功能:

1. 从键盘读取输入:可以使用Scanner类的构造方法创建一个与标准输入流(System.in)关联的Scanner对象,然后使用next()、nextInt()、nextDouble()等方法读取用户输入的字符串、整数或浮点数。

2. 从文件读取输入:可以使用Scanner类的构造方法创建一个与指定文件关联的Scanner对象,然后使用相应的方法读取文件中的内容。

3. 从字符串读取输入:通过传递一个字符串给Scanner类的构造方法,可以创建一个与该字符串关联的Scanner对象,然后使用相应的方法读取字符串中的内容

下面是一些常用的Scanner类方法: 
- next(): 读取并返回一个输入的字符串。
- nextInt(): 读取并返回一个输入的整数。
- nextDouble(): 读取并返回一个输入的浮点数。
- nextLine(): 读取并返回一行输入的字符串。可以接收换行符
- hasNext(): 判断是否还有下一个输入。 
- close(): 关闭Scanner对象。
package com.shujia.day08.ketang;
import java.util.Scanner;


/*
    jdk1.5之后出现的键盘录入的类Scanner

 */
public class ScannerDemo1 {
    public static void main(String[] args) {
        //public Scanner(InputStream source)
        Scanner sc = new Scanner(System.in);
        //接收整数
//        if(sc.hasNextInt()){
//            int i = sc.nextInt();
//            System.out.println(i);
//        }else {
//            System.out.println("您输入的内容不是一个整数");
//        }

        System.out.println("请输入一个整数:");
        int i = sc.nextInt();
        System.out.println(i+"===========");
        System.out.println("请输入您要输入的字符串:");
        String s = sc.next();
//        String s = sc.nextLine(); // 可以接收换行符
        System.out.println(s+"-----------");
   }
}

 

 三、修饰符
类及其成员的修饰符组合:
权限修饰符:public protected 默认的 private
静态修饰符:static
抽象修饰符:abstract
最终修饰符:final

类:
权限修饰符:public 默认的
抽象修饰符:abstract
最终修饰符:final
成员变量:
权限修饰符:public protected 默认的 private
静态修饰符:static
最终修饰符:final
构造方法:
权限修饰符:public protected 默认的 private
成员方法:
权限修饰符:public protected 默认的 private
静态修饰符:static
抽象修饰符:abstract
最终修饰符:final

常见的修饰符组合:
public static
public static final
public abstract
 

标签:Object,Java,Scanner,修饰符,System,public,String
From: https://www.cnblogs.com/SIKE231310/p/17804119.html

相关文章

  • javaweb--resultMap
    resultMap可以灵活的实现数据库列名和java类中的属性名的映射 1、定义<resultMap>标签2、在<select>标签中,使用resultMap属性替换resultType属性 ......
  • 五、Java面向对象:多态
    一、多态介绍概述:顾名思义就是事物在某种时刻的多种状态前提;1、要有继承关系2、要有方法的重写3、要有父类的引用指向子类对象 访问成员的特点:访问成员变量:编译看左,运行看左访问成员方法:编译看左,运行看右访......
  • 基于SAML2.0的SSO实现(C#&Java)
    背景如题原理和对接其他平台一样,在开始之前我们要向调用的服务方申请一些东西,以便后面开展工作,比如,下图就是微信公众平台开发时候需要进行的操作:我们的开发也是一样,也需要这样的前期准备。这个过程可能是通过线上填写信息,也可能发个邮件加个附件,也可以是线下找对应的人员沟......
  • es java 分组查询
    publicLonggetEventGroupDivceCont(LogRequestreq){StringindexName;if(req.getAppId()==null){indexName=indexNameGenerator.structuredLogPrefixWithoutAppId()+"*";}else{indexName......
  • java new(创建)对象时结尾带上{}和不带的区别
    定义一个对象publicclassPerson{publicvoidsay(){System.out.println("hello");}}熟悉(正常)的创建对象方式Personp1=newPerson();不熟悉的创建方式Personp2=newPerson(){};那二者有什么区别?我们可以先打印出类的信息看看public......
  • java八大特性
    简单性面向对象跨平台/可移植性分布式多线程健壮性安全性高性能 ......
  • 【javascript】关于匿名函数
    什么是匿名函数?没有名字的函数,叫匿名函数,匿名函数主要有以下几种常用的场景:回调函数,直接执行函数,箭头函数什么是回调函数?回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码。(作为参数传递到另外一个函数中,这个作为参数......
  • JavaScript模态框无法弹出的问题
    可能是复制的时候class内缺少了 bs-example-modal-lg导致的 修改代码如下:<divclass="modalfadebs-example-modal-lg"tabindex="-1"role="dialog"aria-labelledby="myLargeModalLabel"><divclass="modal-dialogmodal-lg&q......
  • JAVA第一课 TomCat部署与启动
    1.启动路径 C:\apache-tomcat-10.1.14\bin\startup.bat2.如出现闪退可到C:\apache-tomcat-10.1.14\logs\catalina.log这个路径查看bat执行的日志启动startup.bat时会闪退,按照其他分享的方法使用命令行来启动bat,但是由于它会在startup.bat里启动另外几个bat文件,所以只有star......
  • javaweb--Mapper代理开发
     1、使Mapper接口和SQL映射文件放置在同一文件夹下,可以在resources文件夹下新建一个和SQL映射文件相同的文件夹(例如:com/avb/Mapper)不能用.分割文件夹,用/ 2、把SQL映射表里的namespace属性为Mapper接口的全限定名 3、在Mapper中定义方法,方法名是SQL映射文件中sql语句的id,并......