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

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

@TOC


前言

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

——————————————————————————————
首先先摘抄几句话送给你:献给坚持创作的我和点开这篇文章希望进步的你

1.跑步的多巴胺仅次于谈恋爱:三公里专治各种不爽,五公里专治各种内伤,十公里跑完,内心全是坦荡和善良。

2.你自己不倒,别人想推都推不倒,你自己不想站起来,被人扶也扶不起。能让你扬眉吐气的只有你自己。
你的独立和强大,你学得的知识和技能才是你最大的归宿和荣光。努力的过程本就是孤岛,但最后抵达的一定是充满生机的彼岸。

3.永远不要因为一些不值得的事和人而颓废,以至于浪费了你的自我提升的时间。沉默的努力吧,这才是你现在需要当作目标的事。
别摆烂了,摆烂没未来,去努力吧,试炼的终点终会是花开万里。

1.类和对象:

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

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

b.类:

(1)类的格式:

在这里插入图片描述

public class Car {
    // 属性(成员变量)
    String name; // 名称
    double price; // 价格

    // 行为(方法)
    public void start(){
    }
    public void run(){
    }
}

定义类有一些注意事项:

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

(2)类怎么写?

以定义汽车类为例

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

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

    private String name;
    private double price;

成员变量不建议给初始化值,存在默认值,默认值的规则:整型是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 +"性能很好,跑的很快~~");
}

}

c.对象:

创建对象

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

对象怎么使用

    对象名.成员变量
    对象名.成员方法

2.构造器:

作用:

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

详细格式:

修饰符 类名(形参列表){
   ...
}
如:
    // 无参数构造器
      public Car(){
            ...
            }
    // 有参数构造器
      public Car(String n, double p){
            ...
    }

构造器的分类:

无参数构造器

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

有参数构造器

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

构造器如何调用呢?

类名 对象名 = 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;
    }
}

3.接口:

a.接口是什么?

接口是规范:约束别人必须干什么事情。

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

b.格式:

在这里插入图片描述

c.接口的基本使用:

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

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


d.接口与接口的关系

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

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

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

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

2、静态方法

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

3、私有实例方法:

           -- 必须用private修饰
           -- 只能本接口中访问。
           -- 一般给接口中其他的默认方法或者私有实例方法使用的

    /**
       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("开始跑~~");
    }
}
新增三种方法给Java自己用的。为了方便项目维护。
我们只需要知道有这三种方法,并且明白特点会访问即可。

f.注意:

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

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

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


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

作用:产生一个随机数

步骤

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


最后

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

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

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

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

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

目录
相关文章
|
3天前
|
算法 Java
垃圾回收机制(Garbage Collection,GC)是Java语言的一个重要特性,它自动管理程序运行过程中不再使用的内存空间。
【6月更文挑战第24天】Java的GC自动回收不再使用的内存,关注堆中的对象。通过标记-清除、复制、压缩和分代等算法识别无用对象。GC分为Minor、Major和Full类型,针对年轻代、老年代或整个堆进行回收。性能优化涉及算法选择和参数调整。
13 3
|
9天前
|
Java 大数据 API
|
9天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
20 3
|
13天前
|
IDE Oracle Java
[笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境
[笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境
|
13天前
|
数据可视化 Java
Java语言使用DL4J实现图片分类
【6月更文挑战第14天】Java语言使用DL4J实现图片分类
28 3
|
16天前
|
安全 Java API
Java一分钟之-GraphQL:查询语言与API设计
【6月更文挑战第11天】GraphQL,一种革命性的查询语言,正在改变Web开发中的API构建和使用方式。它允许客户端按需请求数据,减少冗余,提升性能。本文概述了GraphQL的核心理念,如声明式查询、强类型和统一入口,并讨论了Java开发者常遇问题:过度查询、Schema设计和安全性。解决方案包括使用Dataloader、优化Schema和实现授权机制。通过理解原理、关注性能、重视安全和持续实践,开发者能更好地利用GraphQL构建高效API。
23 2
|
19天前
|
机器学习/深度学习 Java 开发者
Python vs. Java:语言之争的终结
【6月更文挑战第8天】Python与Java,两种影响力巨大的编程语言,各有千秋。Python以简洁语法和强大库支持在数据科学、机器学习领域大放异彩,适合快速原型设计;而Java以其稳定性能、跨平台兼容性在大型系统、企业应用中占据一席之地。语言之争实为互补,开发者应根据项目需求选择合适工具,两者和谐共存,共同推动编程技术进步。
|
20天前
|
存储 设计模式 Java
Java语言中反射动态代理接口的解释与演示
Java语言中反射动态代理接口的解释与演示
14 1
|
21天前
|
算法 Java API
Base64编码介绍及基于Java语言实现
Base64编码介绍及基于Java语言实现
17 0
|
22天前
|
Java 容器
双指针(JAVA语言)
双指针(JAVA语言)
双指针(JAVA语言)