Java(基本概念)

2019-04-19  本文已影响0人  尼禄祭

最近花了一周左右重新回顾了Java基础,深感路漫漫其修远兮,在此把个人认为有价值的点列出来,希望能加深记忆

1.Java运行机制

JAVA

2.标识符命名规范


3.数据类型

基本数据类型:byte short int long char boolean float double
引用类型:如String

基本类型转换(除Boolean):


4.运算符

^(异或) 两边只要不一样,结果为true

&&(短路与) 效率更高(推荐)

ll(短路或) 效率更高(推荐)


5.控制语句

switch()括号中的类型只能为int或String(byte short char可自转int)


6.方法

JVM

堆内存和方法区内存各有一个。一个线程一个栈内存

栈内存(Stack):存储方法体中的局部变量

堆内存(Heap):存储new创建的对象

方法区内存:存储代码片段、静态变量

同一个类中,方法名相同,参数列表不同,构成重载

public static int sum(int n){
        if(n==1){
            return 1;
        }
        return n*sum(n-1);
    }

7.面向对象


8.发生方法覆盖(override/overwrite)的条件


9.static关键字


10.super关键字

定义:super指的是当前子类中的父类型特征

JVM

构造方法中的this与super:

语法规则:一个构造方法第一行如果没有this(...)也没有显式去调用super(...),系统会默认第一行调用super()
this与super的使用都是建立在对象的基础上,而static方法没有对象,所以不能用于static方法中


11.final关键字

final代表最终的、不可更改的

final修饰的变量一旦赋值不可改变

final修饰的方法无法被覆盖

final修饰的类无法被继承


12.抽象类(abstract)

语法规则:


13.接口(interface)

语法规则:

接口的作用:

For Example:

从以下代码可以发现,ServiceImpl与Test面向接口编程,互相分离

Engine.java(Service)

public interface Engine {
    void start();
}

Honda.java/YAMAHA.java/.....(ServiceImpl)

public class Honda implements Engine {
    @Override
    public void start() {
        System.out.println("Honda!!!");
    }
}

public class YAMAHA implements Engine {
    @Override
    public void start() {
        System.out.println("YAMAHA!!!!!");
    }
}

Car.java(Test)

public class Car {
    private Engine e;

    public Car(Engine e){
        this.e=e;
    }

    public void drive(){
        e.start();
    }
}

14.异常(Exception)

语法规则:

For Example:自定义异常与手动抛出异常

IllegalText.java(自定义异常类)

public class IllegalText extends Exception {
    //定义异常一般提供两个构造方法
    public IllegalText(){}
    public IllegalText(String msg){
        super(msg);
    }
}

CustomService.java(相关业务类)

public class CustomService {
    public void register(String name) throws IllegalText{
        if(name.length()<6){
            IllegalText e = new IllegalText("长度底于6!");
            throw e;
        }
        System.out.println("格式通过!");
    }
}

Test.java(测试类)

public class Test {
    public static void main(String[] args) {
        String name="jack";
        CustomService cs=new CustomService();
        try{
        cs.register(name);
        }catch(IllegalText e){
            System.out.println(e.getMessage());
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读