JavaSE基础总结

一般下载java1.8

目录

2.15:

2.17:

2.22:

2.27:

静态代码块 动态代码块

abstract 抽象类

接口

异常

线程

创建线程

3.12

代码块



2.15:

  • 银行不能使用float float比较时会出现问题 使用BigDecimal 数学工具类

  • 转义字符 \t制表符(空格) \n 换行

  • 强制转换 int i i=(byte)i

  • 命名 除了常量(全大写)类名(首字母大写) 都驼峰原则

2.17:

  • ++ -- 自增在后面 先赋值再运算 自增在前面 先运算再赋值

  • 很多运算使用工具类进行操作

  • && || !

  • 位运算

  • a+=b a=a+b a-=b a=a-b

  • 相加运算 字符串后面的运算都按照字符串处理 “""+a+b a+b+""

  • x?y:z x为true 结果为y x为false 结果为z

  • 包机制 import com.* 通配符 所有类都被导入的

2.22:

  • 命令行生成doc生成文档:1.打开java文件所在文件夹的cmd窗口 2.输入javadoc 参数java文件

  • scanner 获取用户的输入 scanner.hasNext()遇到空格就结束

  • scanner.hasNextLine()回车为结束

  • while dowhile 至少执行一次

  • 100.for 自动生成循环100次的for

  • System.out.println("\t") 需要改为 System.out.print("\t")

  • 在static方法内部无法直接调用非static方法(可以通过先实例化对象,再用该对象调

  • 非static方法),但非static方法中可以调用static方法,通过类.方法名()的方式。

  • 递归:先传递,再回归

  • 方法可变长参数放在最后...

  • 创建构造函数快捷键: Alt+insert 选择 Constructor

  • this() 本类构造 super() 父类构造

  • 方法重载:返回值类型和参数列表不同,方法名相同

  • 方法重写:需要有继承关系 子类重写父类方法 方法名相同 参数列表相同 修饰符范

  • 可扩大 异常范围可缩小 static final private 不能重写

  • 多态:(继承 重写 父类引用指向子类对象:Parent p = new Child(); )

  • 强制转换:高转低 (待转低类型)待转高对象

2.27:

静态代码块 动态代码块

static{
先于动态代码块执行
只执行一次
​
}
{
先于构造函数执行
}

abstract 抽象类

  • 抽象方法(只有方法的名字,没有方法体的实现)

  • 抽象类的非抽象子类都必须实现(重写)它的抽象方法

  • 抽象方法必须在抽象类中

  • 成员变量、成员方法和构造方法的访问方式和普通类一样

  • 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

  • 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

  • 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

接口

  • 只有规范!自己无法写方法,是专业的约束

  • 接口可以多继承

  • 接口中所有定义都是 public abstract

  • 实现接口的类 要实现接口的所有方法

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

  • @Override:可以告诉读你代码的人,这是对它父类方法的重写,其实很多代码规范没有为什么,规范就是规范,代码的可读性还是很重要的 ¥¥ 编译器可以给你验@Override下面的方法名称是否是你父类中所有的,如果没有就会报错。

异常

try{
    
}catch(异常类型 先){
    
}finaly{}
​
throw 主动抛出异常
throws  在方法上抛出异常

线程

创建线程

  • 继承Thread类,重写run方法(线程执行体),类对象调用start方法开启线程

public class Demo01 extends Thread{
    @Override
    public void run() {
        //run方法线程体
    }
​
    public static void main(String[] args) {
        //main线程  主线程
        //创建线程对象  启动
        Demo01 t = new Demo01();
        t.start();
    }
}
  • 类实现Runnable接口 实现run()方法(线程执行体) 创建线程对象调用start方法开启线程

  • 可以避免oop单继承局限性

public class Demo02MyRunnable implements Runnable{
​
    @Override
    public void run() {
        //run方法线程体
    }
    public static void main(String[] args) {
        //创建runnable接口的实现类对象
        Demo02MyRunnable t1 = new Demo02MyRunnable();
        //创建线程对象,通过线程对象来开启我们的线程     代理
        Thread thread = new Thread(t1);
        thread.start();
//        new Thread(t1).start();//可代替上面两行
    }
}
快捷键    for.100

3.12

代码块

  • 普通代码块(局部代码块):在方法定义中,用于限定变量的生命周期,及早释放,提高内存利用率。 {}

  • 构造代码块:在类中方法外出现(即在类中的成员位置),可以把多个构造方法方法中相同的代码存放到一起,用于对对象进行初始化,每次调用构造方法都执行,并且在构造方法前执行。

  • 静态代码块:在类中方法外出现(即在类中的成员位置),并加上static修饰,用于对类进行初始化,静态在类加载的时候就执行了,当new多个对象时,只执行一次。 staticic{}

  • 同步代码块:多线程

持续更新中~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值