java 基础归纳总结

Posted dhm520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 基础归纳总结相关的知识,希望对你有一定的参考价值。

一、面向对象

   面向对象的三大特征:
  1、封装:将类的属性私有化 并对外提供公共的 getset方法
  2、继承:用新类继承已有类 可以直接使用 已有类的公共的方法和属性
  3、多态:同一个实例的多种形态
      方法的重载、 方法的重写、父类的引用指向子类的实体(继承、实现)
 

   关键字

  this:1、指代当前对象

      2、指代当前类

             3、指代构造方法 只能放在首行

 

  super:1、指代父类对象

                       2、指代构造方法 只能放在首行

 

  final:1、被final修饰类 不能被继承

      2、被fianl修饰的变量 成为一个常量
           3、被fianl修饰的方法 不能被重写

 

 

  static:1、static先出生 非static后出生

      2、可以直接通过类名点出

 

 

  instanceof: 判断对象是哪个类的实例

 

二、抽象类

 

定义抽象类时使用 abstract 关键字

 

语法格式
abstract 类名{ }
public abstract class Animal {
}

 

抽象方法
抽象方法没有具体的实现


语法格式
访问修饰符 abstract 返回值类型 方法名

 

public abstract class Animal {
protected abstract void eat();
}

 


抽象类和抽象方法的关系
1、 抽象类中可以没有抽象方法
2、有抽象方法的类必然是抽象类
3、用static或final修饰的方法不能声明为抽象方法

 


一个抽象类中没有抽象方法,是为了限制其不能被实例化而只能被继承

 


抽象类的成员
 成员变量
 可以是变量,也可以是常量
 成员方法
 可以是抽象方法,也可以是普通方法

 


抽象类的构造方法
 抽象类有构造方法但不能被实例化
 由子类继承该抽象类,实例化子类
 抽象类的子类要么实现父类的抽象方法,要么该子类继续抽象

 

三、接口

接口定义
 使用 interface 关键字定义接口
 语法
public interface Flyable {
}
interface 接口名{ }

 


接口使用
 使用 implements 关键字实现接口
 语法
public class Parrot implements Flyable{
}


class 类名 implements 接口名{ }

 


1、接口不能实例化,使用接口时需要子类实现接口
2、 接口的实现
 一个实现接口的类,必须实现接口内所有的方法,否则该类就必须声明为抽象类


 成员变量
 接口中的成员变量只能是常量,默认的修
饰符 public static final
 任何类都可以直接访问到接口中的常量


成员方法
 接口中的方法只能是抽象方法,默认修饰
符 public abstract


成员特点
 接口没有构造方法
 接口主要目的是扩展功能,没有具体存在


接口的多实现
 一个类可以实现多个接口

class 类名 implements 接口名1,接口名2,…{ }


关系

类和类 继承关系,只能单继承,可以多层继承

类和接口 实现关系,类实现接口,可以多实现

接口和接口 继承,可以单继承,也可以多继承

 


区别

抽象类
成员变量 -----变量/常量
成员方法------ 抽象/非抽象方法
构造方法------ 有
关系------------ 继承


接口
成员变量 ------ 常量
成员方法 -------抽象方法
构造方法 -------没有
关系 ----------- 实现

四、String类介绍 

 String是引用数据类型
 但是String实际上java给我们提供的是一个类
 
 注意:String 全类被fianl所修饰 所以 String 又叫 字符串常量
String 的值 一旦定义 不可以改变

 String 的创建方式
 1、直接赋值
 String str = "coco";
 2、通过new关键字
 String str1 = new String("fdsfs");
 

 String的比较方式:
 1、equals() : 比较两个String的值 是否一样
 2、 == : 比较两个String 的地址

 

String的常用方法:

equals(): 判断两个String的值 是否相等

equalsIgnoreCase(): 判断两个String的值 是否相等 并且忽略大小写

startsWith():以什么开始
endsWith():以什么结束

isEmpty():判断字符串的长度是否为0

length():计算字符串的长度
getBytes():

str.substring():字符串的截取
split():以某种规则进行拆分
replace():替换


toCharArray():转成char型数组
charAt(): 根据下标取单一的字符

contains():是否包含
indexOf():返回下标

toLowerCase(): 转小写
toUpperCase(): 转大写

valueOf():将满足条件的参数 转换成 String类型

 

五、工具类

一:Object类

1、在Java中,Object类是所有其它类的父类,位于java.lang包 ?

2、所有类都直接或间接的继承Object类,所以省略了extends Object ?

3、Object中提供了多个方法,方便子类重写或直接调用

 

Object的toString方法:子类可以重写toString(),自定义对象的字符串输出格式

  getClass方法:可以通过Class类中的getName方法,获取对象的真实类的全名称

   hashCode方法:同一个对象的hashCode()值肯定相同

equals( )方法:

二、System类

1、System类提供了系统级的很多属性和控制方法,位于java.lang包

2、System类是final类不能被实例化,所有方法和属性都是静态的


当前时间:
SimpleDateFormat sd = new SimpleDateFormat( "yyyy-MM-dd");

Date date = new Date( );
String time = sd.format( date);
system.out.println(time);

 

三、Random类

1、Random类用于生成伪随机数,位于java.util包 ?

2、Random对象的生成


四、Math类

1、Math类提供了执行基本数学运算的方法,位于java.lang包

2、Math类是final类不能被实例化,所有方法和属性都是静态的

 

五、Arrays类

Arrays类提供了一系列操作数组的方法,位于java.util包中


六、包装类

Java语言是面向对象语言,但Java中的基本数据类型却不是面向对象的, 这在实际使用时存在很多的不便

  为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类

    八个基本数据类型对应的类统称为包装类(Wrapper Class)

 

六、异常

(Throwable类)

1、 Error 错误--无法挽救

2、Exception 异常 --程序中的小bug,可以修复


a)受检异常--在程序中定义代码的时候直接有红线提示。

b)运行时异常--语法格式正确,运行时发生异常;

 

捕获 (现场发现 现场处理)
try{
//可能发生异常的代码
}catch(异常的类型 异常对象){
//打印异常信息
//其他处理
}
注意:同一句代码 可能出现多个异常 添加多个对应的catch块

try……catch执行顺序
注意:在定义多个catch块的时候 需要注意他们的顺序 (父类异常 只能定义在子类异常的下面
多个catch块不能定义相同的异常
1、如果try中的代码 没有出现异常 那么会直接跳过catch块
2、如果try中的代码发生了异常 那么会根据出现的异常依次向下匹配对应的异常 打印输出
try……catch……finally

 
抛出异常
(一般来说不会直接在main方法抛出异常
抛出了异常 一定要处理掉 )
公式:方法头(方法的定义)throws 异常类型
public static void getReuslt() throw ArithmeticException
使用抛出的方式 并不是在处理异常 只是提示调用者 这个地方会出现异常

捕获和抛出:
1、捕获是在处理异常
抛出是提示异常
2、捕获:try catch
抛出:throws
3、捕获是针对的可能出异常的代码 直接处理
抛出:是定义在方法头上

 


throw和throws的区别:

throw:定义在方法体中

throws:定义在方法头







































































































































以上是关于java 基础归纳总结的主要内容,如果未能解决你的问题,请参考以下文章

java基础核心总结归纳---参考手册

01-实验性问题总结归纳

关于牛客网的JAVA面试题错题总结以及归纳

Java 线程系列一文看懂--并发编程归纳总结

linux设备驱动归纳总结内核的相关基础概念

SQL基础知识归纳总结