java基础
IdeaRJ
这个作者很懒,什么都没留下…
展开
-
包装类
包装类Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对 象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下基本类型对应的包装类(位于java.lang包中)byteByteshortShortintIntegerlongLongfloatFl...原创 2019-08-02 09:54:23 · 118 阅读 · 0 评论 -
常用API
常用API时间:Date与CalendarDate类常用的方法java.util.Date 类 表示特定的瞬间,精确到毫秒public Date() :分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。public Date(long date) :分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元 (epoch)”,即1970年1月1日00:00:00 ...原创 2019-08-02 09:53:57 · 112 阅读 · 0 评论 -
集合工具类Collections
CollectionsCollections是集合工具类,里面提供了很多操作集合的方法.这个类没有看到构造方法,里面的方法全是静态方法,我们直接使用类名调用Collections类的方法: static boolean addAll(Collection<?> c, T… elements) 将后面的数据添加到前面的集合中 static void sh...原创 2019-08-02 10:13:01 · 107 阅读 · 0 评论 -
Map集合
Map集合特点保存键和值键不能重复一个键对应一个值有对应关系的就考虑使用Map来存储代码实例public static void main(String[] args) { HashMap<Integer,String> hs = new HashMap<>(); hs.put(1,"xiaohong");//put---添加/修改 ...原创 2019-08-02 10:14:30 · 112 阅读 · 0 评论 -
可变参数
可变参数什么是可变参数: 是JDK1.5的新特性参数类型相同,参数个数任意参数的类型都是相同的,但是个数不一样的,写很多重载方法也很麻烦,可以使用可变参数.格式可变参数格式(重点):修饰符 返回值类型 方法名(数据类型… 变量名) {}好处一个可变参数的方法,可以传入任意多个参数,就不用写多个重载方法代码案例public static void main(String[] a...原创 2019-08-02 10:15:36 · 156 阅读 · 0 评论 -
线程
线程线程与进程进程: 正在运行的程序线程:是进程的执行单元,线程是用来执行程序的代码的并行与并发1.什么是并行?两个或以上的事件在同一时刻发生(同时发生)2.什么是并发?两个或以上的事件在一个时间段内发生(交替执行)Thread类创建线程步骤 1.定义类继承Thread 2.重写run方法 3.创建子类对象 4.调用st...原创 2019-08-02 10:18:20 · 72 阅读 · 0 评论 -
异常
异常Java中的异常体系:Throwable: 异常和错误的父类JVM处理异常的方式1.打印错误信息2.终止程序常规处理异常的方式1.throws处理异常 (不负责)2.try…catch处理异常 (负责任)throw关键字throw的作用: 创建/产生/制造异常格式throw new 异常类名();代码实例public static void main(String...原创 2019-08-02 10:20:33 · 79 阅读 · 0 评论 -
Lambda表达式
Lambda表达式Lambda表达式相当于替换匿名内部类重写方法,简化匿名内部类的使用,代码更加单Lambda表达式的前提 1.参数或变量类型是接口 2.接口中只能有一个抽象方法表达式格式Lambda表达式格式:() -> {}(): 参数列表{}: 方法体->: 没有实际含义,表示指向代码实例public static voi...原创 2019-08-02 10:22:05 · 83 阅读 · 0 评论 -
Stream流
Stream流Stream相当于流水线,Stream流用于加工和处理集合数据我们使用Stream可以对数据进行处理.处理后怎么办?count,forEachStream流本身不保存数据需要将Stream操作后的数据重新存储到集合或数组中(收集数据)将Stream流结果收集到集合中 // 将Stream流结果收集到集合中 List<String> list...原创 2019-08-02 10:22:43 · 130 阅读 · 0 评论 -
多线程安全
多线程继承Runnable类实现多线程步骤 1.定义一个类实现Runnable接口,重写run方法,在run方法中编写卖票逻辑 2.创建多个线程,传入接口的实现类对象 3.启动多个线程代码实例3个窗口同时售票//测试类实现public static void main(String[] args) { Ticket t = new Tic...原创 2019-08-02 10:23:19 · 125 阅读 · 0 评论 -
解决线程安全问题的方法
多线程处理多线程安全问题1.同步代码块步骤 1.定义一个类实现Runnable接口,重写run方法,在run方法中编写卖票逻辑 2.创建多个线程,传入接口的实现类对象 3.启动多个线程代码实例3个窗口同时售票//测试类实现public static void main(String[] args) { Ticket t = new Ti...原创 2019-08-02 10:24:00 · 164 阅读 · 0 评论 -
Collection
CollectionCollection常用功能 1.boolean add(E e) 往集合中添加一个元素 2.void clear() 从此集合中删除所有元素 3.boolean contains(Object o) 判断集合中是否包含指定的元素 4.boolean isEmpty() 判断集合是否为空(没有元素),如果为空返回true 5....原创 2019-08-02 09:54:51 · 65 阅读 · 0 评论 -
权限修饰符
权限修饰符在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限public:公共的,所有地方都可以访问。protected:当前类 ,当前包,当前类的子类可以访问。缺省(没有修饰符):当前类 ,当前包可以访问。private:私有的,当前类可以访问。 public > protected > 缺省 > private编写代...原创 2019-08-02 09:55:07 · 120 阅读 · 0 评论 -
static关键字
static关键字普通的成员变量:每次创建对象时,都会单独保存一份成员变量1.static作用由static修饰的成员变量属于类的,被修饰的变量会进入静态变量区,在内存中只存在一份,可以节省内存,这个类中的所有对象都共享这一份变量2.static修饰成员变量的格式static 数据类型 变量名例如:static String name;3.static修饰成员变量的调用类名.静...原创 2019-08-02 09:57:40 · 214 阅读 · 0 评论 -
抽象类
抽象类1.什么是抽象方法没有方法体的方法,就是抽象方法抽象方法需要在抽象类中2.抽象方法格式修饰符 abstract 返回值类型 方法名(参数列表);和普通方法相比:1.在返回值类型前面添加abstract2.将方法体{}换成;3.抽象类的格式abstract class 类名 {}4.抽象类的使用步骤定义子类继承抽象类重写抽象方法创建子类对象5.抽象类的特点...原创 2019-08-02 09:57:24 · 98 阅读 · 0 评论 -
方法重写
方法重写回顾方法重载(overload)同一个类中,方法名相同,参数列表不同。1.什么是方法重写(override)在子类中将父类的方法重新写一遍。子类和父类出现了同名的方法。2.什么时候需要方法重写当子类觉得父类的方法功能不够强大,子类就重新写一次这个方法。3.@OverrideOverride注解: 帮我们检测方式是否是重写方法4.方法重写注意事项重写是父类和子类的事...原创 2019-08-02 09:57:14 · 101 阅读 · 0 评论 -
继承
继承extends1.什么是继承在现有类的继承上定义新的类,现有类称为父类,新的类称为子类,子类会自动拥有父类的内容2.继承的好处提高代码的复用性3. 继承的格式class 类名 extends 父类名 { }4.继承的子类与父类问题父类的构造方法不会继承到子类中父类私有的内容子类不能直接使用,需通过提供的getter/setter5.继承后成员变量与成员方法就...原创 2019-08-02 09:57:05 · 68 阅读 · 0 评论 -
final关键字
final关键字为了避免子类随意修改继承的类,改写其内容,java提供了final关键字用于修饰不可改变的内容类:被final修饰的类不能被继承方法:被final修饰的方法不能被重写变量:被final修饰的变量,有且只能被赋值一次1.使用方式修饰类格式:final class 类名{ }代码:final class Fu{}//class Zi e...原创 2019-08-02 09:56:55 · 110 阅读 · 0 评论 -
单例模式
单例模式1.单例模式的作用单例模式一种常用的软件设计模式通过单例模式可以保证系统中应用该模式的这个类只有一个实例,即一个类只有一个实例对象2.单例模式的实现步骤1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象2.在该类内部产生一个唯一的实例化对象,并将其封装为private static类型的成员变量3.定义一个静态方法返回这个唯一对象3.单例模式的设计类型...原创 2019-08-02 09:56:40 · 213 阅读 · 0 评论 -
接口与抽象类
接口与抽象类抽象类:抽象类中可以有抽象方法,也可以有普通方法,以及构造方法,成员变量等;接口:接口是更加彻底的抽象,在JDK8之前,接口中全部是抽象方法和常量,在JDK8之后陆续可以写入私有方法,默认方法,静态方法1.接口的定义修饰符 interface 接口名称{ //与类(class)相似//抽象方法}//修饰符 public (缺省)//接口声明:interface/...原创 2019-08-02 09:56:30 · 181 阅读 · 0 评论 -
枚举
枚举枚举的应用场景枚举的作用:一个方法接收的参数是固定范围之内的时候,那么即可使用枚举。枚举的概念枚举是一种特殊类。枚举是有固定实例个数的类型,我们可以把枚举理解成有固定个数实例的多例模式。枚举的应用场景枚举的作用:枚举通常可以用于做信息的分类,如性别,方向,季度等。定义枚举的格式enum 枚举名 { 第一行都是罗列枚举实例,这些枚举实例直接写大写名字即可。 }案例...原创 2019-08-02 09:56:11 · 125 阅读 · 0 评论 -
Object类
Object类java.lang.Object 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化 的时候,终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类public class MyClass /*extends Object*/ { // ... }toString方法public Stri...原创 2019-08-02 09:55:58 · 228 阅读 · 0 评论 -
代码块
代码块1.静态代码块格式static{ // 执行代码}每次执行类,加载类的时候都会先执行静态代码块一次。静态代码块是自动触发执行的,只要程序启动静态代码块就会先执行一次。作用:在启动程序之前可以做资源的初始化,一般用于初始化静态资源。代码案例public class DaimaKuaiDemo01 { public static String sc_name ...原创 2019-08-02 09:55:48 · 67 阅读 · 0 评论 -
多态
多态多态是继封装,继承后面向对象的第三大特性多态是出现在继承或接口实现关系中多态的定义是指同一行为,具有多个不同表现形式。多态前提继承或者实现【二选一】方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】体现格式父类类型 变量名 = new 子类/实现类构造器;变量名.方法名;实现例子定义父类:public class Animal { p...原创 2019-08-02 09:55:38 · 219 阅读 · 0 评论 -
内部类
内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类什么时候使用内部类一个事物内部还有一个独立的事物,内部的事物脱离外部的事物无法独立使用人里面有一颗心脏。汽车内部有一个发动机。为了实现更好的封装性。内部类的分类静态内部类,类定义在了成员位置 (类中方法外称为成员位置,有static修饰的内部类)实例内部内,类定义在了成员位置 (类中方法外称为成...原创 2019-08-02 09:55:29 · 156 阅读 · 0 评论 -
线程池
线程池只创建一个线程执行一个任务的缺点:我们创建一个线程执行任务后线程死亡.如果线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。定义线程池就是存放线程的容器.线程池的优点线程池里面的线程不会销毁,可以重复使用.减少了线程的创建和销毁,提高线程的利用率,节省了资源Runnable实现线程池定义...原创 2019-08-02 10:24:25 · 110 阅读 · 0 评论