Java_基础语法及用法

一、java基础

1.1 JAVAEE的13个规范

JAVA EE的十三种规范

二、java基础语法

2.1 final

1.被final修饰的类不可以被继承
2.被final修饰的方法不可以被重写
3.被final修饰的变量不可以被改变

2.2 static

被static修饰的方法和变量是和这个类关联在一起的,被类的所有实例对象所共享

2.3 异常

“抓抛”模型:

1.抛:异常的生成方式

1.1 自动抛:程序执行过程中一旦出现异常,就会在出现异常的代码处,自动生成对应异常类的对象并抛出.
1.2 手动抛:程序执行过程中,在不满足指定条件的情况下,我们主动使用“throw + 异常类的对象”方式,手动将异常类的对象抛出

2.抓:异常的处理方式

 2.1 自己抓:try-catch-finally
 2.2 交给别人抓:throws

异常的两种处理方式:1.try-chatch-finally 2.throws

		/*try {
            可能出现异常的代码全部包在try的大括号里
        }catch (Exception e){
            e.printStackTrace(); // 打印详细异常信息(常用)
            e.getMessage();
        }finally {
            一定要执行的语句,eg:关闭资源等
        }*/
public class ExceptionHandleTest {

    /*public static void main(String[] args) throws Exception {
        try {
            method(); // 方法调用过程中,main()方法是最后一层,必须在main()方法中处理其他方法throws上来的异常
        }catch(){
            
        }finally{
            
        }
        
    }
    
    public static void method() throws Exception{
        可能出现异常的代码 // 将出现的异常throws给调用method方法的方法去
    }*/

}

手动抛出异常
在实际开发中,如果出现不满足具体场景的代码问题,有必要手动抛出一个指定类型的异常对象
比如:有一个Student类,有个id属性,要求不能为负数。这种场景从java层面来说没有问题,因为变量可以为负数,但是在具体的开发场景中就不行了,因此要根据实际开发场景要求,手动抛出异常

1.手动抛出运行时异常,可以不做处理

public class ExceptionHandleTest {

    public static void main(String[] args) throws Exception {
        Student student = new Student();
        student.regist(-10);
    }

}

class Student {
    private int id;

    public void regist(int id) {
        if(id >= 0){
            this.id = id;
        }else{
            throw new RuntimeException("输入的id为负数");
        }
    }
}

2.手动抛出的不是运行时异常,必须进行处理

public class ExceptionHandleTest {

    public static void main(String[] args) throws Exception {
        Student student = new Student();
        student.regist(-10);
    }

}

class Student {
    private int id;

    public void regist(int id) {
        if(id >= 0){
            this.id = id;
        }else{
            try {
                throw new Exception("输入的id为负数");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

2.4 权限修饰符

Java中的权限修饰符分为四种:public,protected,缺省,private

可修饰对象可用修饰符
外部类public和缺省
成员变量、成员方法等public,protected,缺省,private

实际在IDEA开发工具中写代码时,如果修饰符使用不合理导致不能使用,IDEA会做出相应提示。

2.5 继承

2.5.1 继承的好处

  • 继承的出现减少了代码冗余,提高了代码的复用性
  • 继承的出现,更有利于功能的扩展
  • 继承的出现让类与类之间产生了is-a的关系,为多态的使用提供了前提。继承描述事物之间的所属关系,这种关系是:is-a 的关系。可见,父类更通用、更一般,子类更具体

注意:不要仅为了获取其他类中某个功能而去继承!

2.5.2 继承的细节说明

  • 子类会继承父类所有的实例变量和实例方法(其他的不会继承)
  • 子类虽会继承父类私有的成员变量,但子类不能对继承的私有成员变量直接进行访问,可通过继承的get/set方法进行访问
  • 在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”

2.5.3方法重写

  • 子类重写的方法必须和父类被重写的方法具有相同的方法名称参数列表
  • 子类重写的方法的返回值类型不能大于父类被重写的方法的返回值类型。注意:如果返回值类型是基本数据类型和void,那么必须是相同的
  • 子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限。注意:父类私有方法不能重写
  • 子类方法抛出的异常不能大于父类被重写方法的异常

2.6 Object类

2.6.1 equals()

  • == 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型就是比较内存地址
  • equals()是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是==。String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点,具体要看自定义类里有没有重写Object的equals方法来判断
  • 通常情况下,重写equals方法,会比较类中的相应属性是否都相等

2.6.2 toString()

  • 默认情况下,toString()返回的是对象的运行时类型 @ 对象的hashCode值的十六进制形式
  • 在进行String与其它类型数据的连接操作时,自动调用toString()方法
Date now=new Date();
System.out.println(“now=+now);  //相当于
System.out.println(“now=+now.toString());
  • 如果直接System.out.println(对象),默认会自动调用这个对象的toString()
  • 可以根据需要在用户自定义类型中重写toString()方法。如String 类重写了toString()方法,返回字符串的值。
s1="hello";
System.out.println(s1);//相当于System.out.println(s1.toString());

三、java基础用法

3.1 时间格式化

public class DateTest {

    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
        simpleDateFormat.applyPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(simpleDateFormat.format(new Date()));
    }

}
sout:2023-07-30 16:38:50

3.2 java计时

java计时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值