![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
java学习笔记
鹿其其鹿
学习记录,问题清单
展开
-
2021-05-12自定义异常
使用Java内置的异常类可以描述在编程时出现的大部分异常的情况,除此之外,用户还有自定义异常,只需继承Exception类即可在程序中使用自定义异常类大体可以分为以下几个步骤:创建自定义异常类在方法中通过throw关键字抛出异常对象如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作在出现异常方法的调用者中捕获并处理异常package com.exception2;//.原创 2021-05-12 17:58:59 · 41 阅读 · 0 评论 -
2021-05-12捕获和抛出异常
异常处理机制抛出异常捕获异常异常处理的五个关键字:try,catch,finally,throw,throwspackage com.exception;public class Test { public static void main(String[] args) { int a = 1; int b = 0; //快速生成捕获抛出异常代码:Ctrl+Alt+T //假设要捕获多个异常,需要从小到大去捕获原创 2021-05-12 17:31:12 · 69 阅读 · 0 评论 -
2021-05-12Error和Exception
异常三种类型的异常检查性异常:最具代表性的检查性异常就是用户错误或问题引起的异常,这是程序员无法预见的,这些异常在编译时不能被简单地忽略运行时异常:运行时异常是看你被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略错误Error:错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略。例如,当栈溢出的时候,一个错误就发生了,它们在编译时也检查不到异常体系结构java把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类在Jav原创 2021-05-12 17:01:48 · 102 阅读 · 0 评论 -
2021-05-12内部类
内部类内部类就是在一个类的内部再定义一个类成员内部类静态内部类局部内部类匿名内部类成员内部类package oop.demo12;public class Outer { private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ Syste原创 2021-05-12 16:13:10 · 36 阅读 · 0 评论 -
2021-05-12接口的定义与实现
接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有接口:只有规范,自己无法写方法-专业的约束。约束和实现分离:面向接口编程接口就是规范,定义的是一组规则接口的本质是契约,就像法律一样,大家都要遵守OO的精髓,是对对象的抽象,最能体现这一点的就是接口声明类的关键字是class,声明接口的关键字是interfacepackage oop.demo11;//interface是定义的关键字,接口都需要有实现类public interface UserService { /原创 2021-05-12 15:43:44 · 117 阅读 · 0 评论 -
2021-05-11抽象类
抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么方法就是抽象方法,如果修饰类那就是抽象类抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类抽象类不能使用new关键字来创建对象,它是用来让子类继承的抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的子类继承抽象类,那么就必须要实现抽象了类没有实现的抽象方法,否则该子类也要声明为抽象类...原创 2021-05-12 15:19:19 · 51 阅读 · 0 评论 -
2021-05-11static关键字
public class Student { private static int age;//静态变量 private double score;//非静态变量 public void run(){ } public static void go(){ } { System.out.println("匿名代码块"); } static{ System.out.println("静态代码块");原创 2021-05-11 18:51:09 · 48 阅读 · 0 评论 -
2021-05-11instanceof和类型转换
public class Application { public static void main(String[]args){ Object object = new Student(); System.out.println(object instanceof Student); System.out.println(object instanceof Person); System.out.println(object in原创 2021-05-11 18:25:01 · 107 阅读 · 0 评论 -
2021-05-10方法重写多态注意事项
方法重写package oop.demo6;//重写都是方法的重写,和属性无关public class B { public static void test(){ System.out.println("B=>test()"); }}package oop.demo6;public class A extends B{ public static void test(){ System.out.println("A=>t原创 2021-05-11 17:30:38 · 60 阅读 · 0 评论 -
2021-05-07封装 继承 super this
封装高内聚 低耦合属性私有 get/set原创 2021-05-10 17:01:56 · 38 阅读 · 0 评论 -
2021-05-07构造器
构造器讲解类中的构造器也称为构造方法,是进行创建对象的时候必须要调用的,并且构造器有两个特点:必须和类的名字相同必须没有返回类型,也不能写void一个类即使什么都不写,他也会存在一个构造方法package oop.demo2;//java编译之后会生成class文件public class Person { //一个类即使什么都不写也会存在一个方法 String name; //构造器会实例化初始值 //使用new关键字,本质是在调用构造器 //原创 2021-05-07 16:14:21 · 43 阅读 · 0 评论 -
2021-05-06Vue前后端搭建
Vue前后端搭建创建一个前端项目创建一个后端项目安装依赖npm install vue-routernpm install axios前端运行:npm run serve后端运行:npm start原创 2021-05-07 14:55:32 · 38 阅读 · 0 评论 -
2021-04-27类和对象
类与对象的关系类是一种抽象的数据类型,他是对某一类事物的整体描述/定义,但是不能代表某一个具体的事物对象是抽象概念的具体实例原创 2021-05-07 15:11:09 · 50 阅读 · 0 评论 -
2021-04-19面向对象 方法调用 值传递
面向对象面向过程思想:步骤清晰简单面向过程适合处理一些较为简单的问题面向对象思想:物以类聚,分类的思维模式,思考问题首先会决绝哪些问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问题,适合处理需要多人协作的问题...原创 2021-04-27 14:43:39 · 73 阅读 · 0 评论 -
2021-04-16数组
数组数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而来的原创 2021-04-19 21:46:07 · 35 阅读 · 0 评论 -
2021-04-16递归
递归递归就是自己调用自己利用结构包括两个部分:递归头:什么时候不调用自身方法,如果没有头,将陷入死循环递归体:什么时候需要调用自身方法public class Demo5 { public static void main(String[]args){ System.out.println(f(5)); } public static int f(int n){ if(n==1){ return 1;原创 2021-04-16 10:21:55 · 30 阅读 · 0 评论 -
2021-04-16方法重载 传参
方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数方法重载的规则:方法名称必须相同参数列表必须不同(个数不同,或类型不同,参数排序列表不同等)方法的返回类型可以相同也可以不相同仅仅返回类型不同不足以成为方法的重载public class Demo3 { public static void main(String[]args){ int max = max(10,20,30); System.out.println(max);原创 2021-04-16 08:57:57 · 55 阅读 · 0 评论 -
2021-04-15方法 方法调用
方法java方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,,一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个方法体修饰符:修饰符是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型返回值类型:方法可能会返回值,returnValueType是方法返回值的数据类型,有些方法执行所需的操作,但没有返回值,在这种情况下,returnValueType是关键字void方法名:是方法的实际名称,方法名和参数表共同构成方法签名参数类型:参数像是一个占位符,当方法被调用时,原创 2021-04-15 15:38:16 · 56 阅读 · 0 评论 -
2021-04-09Scanner
Scanner对象基本语法:Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据next():package scanner;import java.util.Scanner;public class Demo1 { public static void main(String[]args){原创 2021-04-15 15:38:57 · 59 阅读 · 0 评论 -
2021-04-09包机制
包机制包机制用于区别类名的命名空间包语句的语法格式:package pkg1[. pkg2[. pkg3…]];一般用公司域名倒置作为包名一般是使用import语句在java程序中明确导入包import package1[.package2…].(classname|*);...原创 2021-04-09 10:07:27 · 51 阅读 · 0 评论 -
2021-04-06类型转换
类型转换运算中不同类型的数据转换为同一类型的数据再进行运算强制类型转换自动类型转换public class change { //强制类型转换和自动类型转换 public static void main(String[]args){ //强制类型转换 (类型)变量名 int i = 128; byte b = (byte)i;//内存溢出,byte最大127 System.out.println(i);原创 2021-04-09 09:31:45 · 104 阅读 · 0 评论