首页 > 编程语言 >Java基础

Java基础

时间:2023-09-25 14:33:57浏览次数:50  
标签:Java 基础 接口 抽象 import 抽象类 方法 final

equals()方法

  1. equals()方法的作用是比较两个字符串是否相等。

  2. 为避免空指针异常

finall关键字

  1. final关键字:可以修饰,变量,方法,类。

  2. final修饰的类无法被继承。

  3. final修饰的方法无法被覆盖,无法被重写。

  4. 当final修饰的变量没有赋值时,允许第一次赋值,第二次报错。

  5. final修饰的类创建的对象,对象不能再变,但内部的变量可以改变。

  6. final修饰的实例变量,一般添加static修饰,如static final CHINESE名为常量,常量的要求是常量名全部大写。常量是公开的,因为常量无法被改变。

package和import

package

  1. 目的: 方便对程序的管理,不同功能的类,放在不同的包里。

  2. 命名规范:公司域名倒序+项目名+模块名+功能名…

  3. 条件:只能出现在java语句的第一行。

  4. 当使用包机制的时候用java编译器:不能直接编译;需使用javac -d . Halloworld.java

  5. javac 编译 -d带包编译 .代表编译之后生成的东西放到当前目录下。

import

  1. import语句使用:当A类和B类不在同一个包下时,A类需要使用 B类时,需要用import进行导入。

  2. import语句必须在package包下,在class语句之上。

  3. import语句还可以用表示。会通过下面所调用的类制动辨别包名。 但只能识别类,只代表类明不能直接import java *。

  4. import 完整包名

抽象类

  1. 抽象类:类和类之间有共用特征,将这些特征提取出来,总结为一个类,就为抽象类。 语法

  2. 抽象类无法实例化,不能被new对象,。

  3. 抽象类只能被子类继承。

  4. 抽象类的子类也可以是抽象类。

  5. abstract不可以和final共同使用,因为抽象类必须要被子类继承实现。

  6. 抽象类虽然无法实例化,但是抽象类中也有构造方法供子类的构造方法中的super()使用。

  7. 抽象类中有抽象方法,也可以没有抽象该方法。但是抽象方法不能有方法体。而且抽象方法必须出现在抽象类中。

  8. 当一个类要继承抽象类时,当这个类为非抽象类时:必须将抽象类中的抽象方法覆盖,重写,实现。

  9. object中的一些没有方法体的方法,不一定是抽象方法,有些时底层调用c++的动态链接库。

访问权限

  1. private:私有的,只能在本类中使用。

  2. protected:受保护的

  3. public:公开的,任何位置都可以访问。

  4.  默认的
    
  5. 可以修饰:属性,类,接口,方法

  6. 类和接口只能用public和默认,不可以用private和protected

接口

  1. 基础语法:

a) 接口是一种引用数据类型,编译之后也用.class字节码文件。

b) 接口是完全抽象的。

c) 接口的定义,语法

d) 接口支持多继承。

e) 接口中只有常量和抽象方法

f) 接口中所有的元素都是由public修饰的。

g) 接口中的public abstract都是可以省略的。

h) 接口中所有的方法都是抽象的。所有接口中的方法不能有方法体。s

i) 接口中常量的public static final可以省略。

  1. 类和类之间叫继承,类和接口之间是继承。使用implements

  2. 接口中的方法都是public,当子类实现接口时,必须加public,访问级别只能更容易。

  3. 一个类可以实现多个接口。

  4. 接口也可以上下转型,当一个接口对象要调用其他类型接口的方法,需要转型。尽量用intenceof判断

  5. extends和implements可以共存,extends在前,implements在后。

  6. 降低耦合度,提高扩展力,符合ocp开闭原则。接口和多态一起使用才可以降低耦合度。

  7. 接口和抽象的区别

a) 接口是完全抽象的,抽象类是半抽象的。

b) 多个接口可以被一个类实现,抽象类是单继承的。

c) 接口中只有常量和抽象方法。

d) 抽象类中有构造方法,接口中没有构造方法。

内部类

  1. 内部类:

在类的内部又重新定义了一个类,成为内部类。

  1. 内部类分类:

静态内部类:类似静态变量。

实力内部类:类似实例变量。

局部内部类:类似局部变量。

匿名内部类

  1. 不创建实现接口的类,创建对象。而是直接在方法中new接口+

标签:Java,基础,接口,抽象,import,抽象类,方法,final
From: https://www.cnblogs.com/xiaoWang3486/p/17727869.html

相关文章

  • Java数组
    Arrayjava语言中数组是一种引用数据类型。不属于基本数据类型。数组的父类是object。数组是一个容器,数组是一个数据的集合。数组中可以储存基本数据类型的数据,也可以储存引用数据类型的数据。数组是引用类型,所以数组对象储存在堆内存当中的。数组当中储存的是Java对象的话,实......
  • Java SE 21 新增特性
    JavaSE21新增特性作者:Grey原文地址:博客园:JavaSE21新增特性CSDN:JavaSE21新增特性源码源仓库:Github:java_new_features镜像仓库:GitCode:java_new_featuresRecordPatterns该功能首次在JavaSE19中预览,在JavaSE20中发布第二次预览版,在此版本中成为永久性功......
  • 使用Intellij Idea打包java为可执行jar包
    自己在实际工作中的需要,使用Idea打包项目为可执行的jar包,网上找了好多文章但总是不成功,多次尝试后终于跑通,所以记录下来,希望可以帮助各位步骤:1.选中Java项目工程名称,在菜单中选择 File->projectstructure... (快捷键Ctrl+Alt+Shift+S)。2.在弹出的窗口中左侧选中"Artifact......
  • java读取resouces目录下文件
    resources中存放一些个资源文件,比如properties文件等,编译好会自动将这里边的文件复制到target/classes里去。获取资源文件的方法说明:XXX.class.getResourceAsStream()返回的是inputstreamXXX.class.getResource("/")返回URL,是classpath的位置XXX.class.getClassLoader().getRes......
  • 基础双指针算法:单队列、双队列
    1、单队列输入一串字符串,字符串有多个由单个逗号隔开的单词,任务是需要把单词间隔开,每个单词换行输出。输入样例abcdefghi输出样例abcdefghi#include<iostream>usingnamespacestd;constintN=1010;intmain(){charstr[N];#definegets(str)gets_s(str......
  • Kotlin 基础语法
    Kotlin文件以.kt为后缀。包声明包的声明应处于源文件顶部:packagemy.demoimportjava.util.*//……kotlin源文件不需要相匹配的目录和包,源文件可以放在任何文件目录。如果没有指定包,默认为 default 包。默认导入有多个包会默认导入到每个Kotlin文件中:kotlin.*kotlin.an......
  • java中mysql索引过多导致查询的时间不稳定
    在Java中,MySQL索引过多可能导致查询时间不稳定的情况确实存在。尽管索引可以加速查询,但是索引也会带来额外的维护成本和存储开销。当数据库表中存在过多的索引时,可能会导致以下几个问题:查询优化器选择困难:当有多个索引可供选择时,查询优化器需要评估每个索引的成本和选择最佳的索引......
  • Java内存模型——基础
    JMM因何产生由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲——将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回......
  • 运行时数据区——Java堆
    Java程序在运行时创建的所有类实例或数组都放在同一个堆中。一个Java虚拟机实例中只存在一个堆空间,因此所有线程都将共享这个堆,它在虚拟机启动时创建。又由于一个Java程序独占一个Java虚拟机实例,因而每个Java程序都有它自己的堆空间——它们不会彼此干预。但是同一个Java程序......
  • Java虚拟机的简介
    Java虚拟机的生命周期一个运行时的Java虚拟机负责运行一个Java程序。Java虚拟机的主要任务是加载class文件并且执行其中的字节码。Java虚拟机包含一个类装载器(classloader)。它可以从程序和API中加载class文件。JavaAPI中只有程序执行时需要的部些类才会被装载。当启动一个......