• Java语言知识大盘点(期末总复习)二


    🌹作者:云小逸
    📝个人主页:云小逸的主页
    📝Github:云小逸的Github
    🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
    👏专栏:C++👏 👏专栏:Java语言👏
    👏专栏:C语言初阶👏👏专栏:数据结构👏


    前言

    大家好,很高兴你点开这篇文章,这是【JAVA语言学习】专栏的第二篇文章,这篇文章主要讲述的是:类和对象,构造器,接口,案例知识:键盘录入技术,随机数Random类
    希望你可以喜欢,加油在这里插入图片描述

    ——————————————————————————————

    1.类和对象:

    a.类是什么?对象是什么?

    可以把类理解为设计图(相同事物共同特征的描述),对象是类的具体的实例。
    结论:在Java中,必须先设计类,才能创建对象并使用。
    在这里插入图片描述

    b.类:

    (1)类的格式:

    在这里插入图片描述

    public class Car {
        // 属性(成员变量)
        String name; // 名称
        double price; // 价格
    
        // 行为(方法)
        public void start(){
        }
        public void run(){
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    定义类有一些注意事项:
    1、类名首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标志符
    2、一个Java文件中可以定义多个类,但是只能一个类是public修饰的,而且public修饰的类名必须成为Java代码的文件名称,否则报错!
    3.成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值

    (2)类怎么写?

    以定义汽车类为例

    一般名词定义成成员变量(属性):

    修饰符 数据类型 变量名称 = 初始值;

    	private String name;
    	private double price;
    
    • 1
    • 2

    成员变量不建议给初始化值,存在默认值,默认值的规则:整型是0,浮点型是0.0 引用类型null,布尔型是false
    在这里插入图片描述

    一般动词定义成方法(行为)
    具体定义类的例子
    public class Car {
    // 名词(属性,成员变量)
    String name;
    double price;
    
    // 动词(行为,成员方法)
    public void start(){
        System.out.println(name + "价格是" + price +"启动成功~~");
    }
    
    public void run(){
        System.out.println(name +
                "价格是" + price +"性能很好,跑的很快~~");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    }

    c.对象:

    创建对象

    类名  对象名 = new  构造器();
    
    • 1

    对象怎么使用

    	对象名.成员变量
    	对象名.成员方法
    
    • 1
    • 2

    2.构造器:

    作用:

    定义在类中的,可以用于初始化一个类的对象,并返回对象的地址

    详细格式:

    修饰符 类名(形参列表){
       ...
    }
    如:
    	// 无参数构造器
          public Car(){
    			...
    			}
        // 有参数构造器
          public Car(String n, double p){
    			...
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    构造器的分类:

    无参数构造器

    初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值

    有参数构造器

    初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值。

    构造器如何调用呢?

    类名 对象名 = new 构造器;

    注意:

    任何类写出来自带一个无参数构造器,写不写都会有的
    如果你在这个类中定义了一个有参数构造器了,那么无参数构造器就消失了,此时,如果你还要使用无参数构造器,你必须自己写一个。

    例子:

    public class Car {
        String name;
        double price;
    
        /**
           无参数构造器
         */
        public Car(){
            System.out.println("无参数构造器被调用了~~");
        }
    
        /**
         有参数构造器
         */
        public Car(String n, double p){
            System.out.println("有参数构造器被调用了~~");
            name = n;
            price = p;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    3.接口:

    a.接口是什么?

    接口是规范:约束别人必须干什么事情。
    1.规范的基本特征是约束和公开。
    2.接口中的抽象方法:默认会自动加上public abstract修饰,不写也有
    3.接口中的常量。默认加上public static final修饰,写不写也有

    b.格式:

    在这里插入图片描述

    c.接口的基本使用:

    被类实现:实现接口的类称为实现类(子类)

    注意:接口可以被类多实现
    注意:一个类实现多个接口,必须重写完全部接口的全部抽象方法,
    否则这个类必须成为抽象类。
    
    • 1
    • 2
    • 3

    d.接口与接口的关系

    1.类与类:单继承,一个类只能继承一个直接父类。
    2.类与接口:多实现,一个类可以实现多个接口
    3.接口与接口:多继承,一个接口可以继承多个接口。这样可以合并多个接口。

    e.接口从JDK 8开始新增了3个方法。

    1、默认方法:其实就是实例方法。

           -- 必须用default修饰,默认会自带public
           -- 必须用接口的实现类的对象来调用
    
    • 1
    • 2

    2、静态方法

            -- 必须static修饰,默认会自带public
            -- 必须用接口名自己调用
    
    • 1
    • 2

    3、私有实例方法:

               -- 必须用private修饰
               -- 只能本接口中访问。
               -- 一般给接口中其他的默认方法或者私有实例方法使用的
    
    • 1
    • 2
    • 3
    
        /**
           1、默认方法:其实就是实例方法。
               -- 必须用default修饰,默认会自带public
               -- 必须用接口的实现类的对象来调用
         */
        default void run(){
            go();
            System.out.println("==跑的贼溜==");
        }
    
        /**
          2、静态方法
                -- 必须static修饰,默认会自带public
                -- 必须用接口名自己调用
         */
        static void inAddr(){
            System.out.println("我们在黑马");
        }
    
        /**
          3、私有实例方法:
               -- 必须用private修饰
               -- 只能本接口中访问。
               -- 一般给接口中其他的默认方法或者私有实例方法使用的
         */
        private void go(){
            System.out.println("开始跑~~");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    新增三种方法给Java自己用的。为了方便项目维护。
    我们只需要知道有这三种方法,并且明白特点会访问即可。
    
    • 1
    • 2

    f.注意:

    1、接口不能创建对象
    2、一个类实现多个接口,多个接口的规范不能冲突
    2、一个类实现多个接口,多个接口中有同样的静态方法不冲突。
    3、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
    4、一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
    5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.案例知识:键盘录入技术

    	1、导包(自动导包):import java.util.Scanner;
    	2、创建一个扫描器对象:Scanner sc = new Scanner(System.in);
    	3、等待接收用户的数据:int  age = sc.nextInt();
    	4、等待接收用户的数据:String name = sc.next();
    
    • 1
    • 2
    • 3
    • 4

    5.案例技术:随机数Random类

    作用:产生一个随机数

    步骤

    	1、导包(自动做的:) import java.util.Random;
    	2、创建随机数对象:Random r = new Random();
    	3、开始得到随机数 : int data = r.nextInt(10); //  0 - 9
    
    • 1
    • 2
    • 3

    最后

    十分感谢你可以耐着性子把它读完和我可以坚持写到这里,摘抄几句话送给你,对你,也对我:
    1.想起一句话:“江湖不相信眼泪,社会不同情弱者。”生活不会因为你的脆弱,给你想要的一切,更不会因为你的痛苦,为你降低标准。没人在乎你辗转反侧的几个夜晚,也没人在乎你奔波劳碌的几个春秋。别人只关心你有没有本事,拿出了什么结果。

    2.水再浑浊,要长久沉淀,依然会分外清澈。人再愚钝,只要足够努力,一样能改写命运。不要愤懑起点太低,那只是我们站立的原点。人生是一场漫长的竞赛,有些人笑在开始,有些人却赢在最后。

    3.我从未见过一个早起、勤奋、谨慎、诚实的人,抱怨命运不好的。但努力是一件特别需要沉下心来长久坚持的事。它成长的土壤需要一个人单打独斗,忍受无数个孤独和寂寞的日子。心可以碎,手不能停,该干什么干什么,在崩溃中继续前行,这才是一个成年人该有的素养。

    最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

    愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞!

  • 相关阅读:
    软件开发无人天车智能控制系统智能库存管理单元解决方案
    FineBI 6.0 Linux 部署、ClickHouse 源配置
    python Django实现数据权限并使用MySQL保存角色一个简单的实例,定义模型来存储用户、角色和权限信息等
    计算两个图形遮盖率
    前端面试及答案:css 选择器有哪些?权重是什么样的?
    大周建议自媒体博主前期做这4件事
    ATF lds和代码section如何关联
    使用docker安装部署kuboard并导入k8s集群
    对中台的探索与思考
    Web前端大作业制作个人网页(html+css+javascript)
  • 原文地址:https://blog.csdn.net/m0_68865259/article/details/127942599