![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
墨&&离
这个作者很懒,什么都没留下…
展开
-
继承Thread类
继承Thread类自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程public class TestThread extends Thread{ public static void main(String[] args) { TestThread testThread = new TestThread(); testThread.start(); for (int i = 0; i < 10; i++) {原创 2020-08-21 22:59:20 · 130 阅读 · 0 评论 -
创建Frame图形窗口
创建Frame图形窗口import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class TestFrame { public static void main(String[] args) { Frame frame = new Frame("这是标题!!!"); // frame.setTitle("这是标题!!!"); //设置是否可见原创 2020-08-20 22:39:05 · 388 阅读 · 0 评论 -
打印流
打印流打印流分字节打印流(PrintStream)和字符打印流(PrintWriter), 打印流只有输出流(因为是"打印"流), 没有输入流。字节打印流继承基本的字节流OutputStream字符打印流继承基本的字符流Writer打印流的特殊功能:可以打印所有数据(基本类型+引用类型)引用类型:该对象toString方法的内容可以自动刷新import java.io.*;public class PrintWriterDemo { public static v原创 2020-08-19 21:26:15 · 151 阅读 · 0 评论 -
内存操作流
内存操作流内存操作流一般作用于处理临时信息, 因为临时信息不需要保存,使用后就可以删除。操作字节数组ByteArrayInputStream(byte[] buf)ByteArrayOutputStream()import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;public class MemoryStream { public原创 2020-08-18 21:53:28 · 121 阅读 · 0 评论 -
数据输入输出流(InputStream/OutputStream)
数据输入输出流数据输入输出流是基本输入输出字节流的子类(InputStream/OutputStream)。数据输入流允许应用程序以适当方式将数据写入输出流中,然后,应用程序可以使用数据输入流将数据读入。DateOutStream可以以适当的方式把数据写入流中。数据:八种基本数据类型、字符串类型。DateInputStream可以以适当的方式吧数据读入到程序中来数据:八种基本数据类型、字符串类型。数据输出流:import java.io.DataOutputStream;i原创 2020-08-17 22:47:47 · 875 阅读 · 0 评论 -
LineNumberReader
LineNumberReaderLineNumberReader是一个可以获得和设置行好的缓冲字符输入流。LineNumberReader继承自BufferedReader。构造方法:LineNumberReader(Reader in)使用默认输入缓冲区的大小创建新的行编号。它有两个特殊的方法:public int getLineNumber() :获得当前行号。public void setLineNumber(int lineNumber) :设置当前行原创 2020-08-16 20:58:03 · 2254 阅读 · 0 评论 -
File对象创建文件
File对象创建文件public boolean createNewFile(); 创建文件,如果存在这个的文件,就不创建了public boolean mkdir(); 创建文件夹, 如果存在这样的文件夹就不会创建了public boolean mkdirs(); 创建文件夹,如果父文件夹不存在,会帮你创建出来public class TestIO { public static void main(String[] args) { //创建文件 File f原创 2020-08-15 20:49:45 · 371 阅读 · 0 评论 -
File类的构造方法
File类的构造方法File(String pathname); 根据一个路径得到File对象File(String parent, String child); 根据一个目录和一个字文件/目录得到File对象File(File parent, String child); 根据一个父File对象和一个子文件/目录得到FIle对象public class TestIO { public static void main(String[] args) { //File(Strin原创 2020-08-14 22:57:02 · 329 阅读 · 0 评论 -
File类概述
File类概述文件类(File)概述在计算机中所有的数据都是以文件的格式存储的在Java中认为文件是一个对象Java认为所有的东西都是对象官方解释文件和目录路径名的抽象表示形式。(磁盘上的文件和文件夹都是File类)文件就是磁盘上的文件在Java语言中的表示对象Class 类—对象—>**.class在内存中的表现形式new类(); jvm —class文件—>Class对象File类的对象就是磁盘上所有的文件 在Java语言中的对象的表现形式...原创 2020-08-13 22:40:02 · 181 阅读 · 0 评论 -
IO流概述
IO流概述IO流是什么?IO:input和output输入输出流是什么意思?Java程序进行数据传输的管道流就是管道的意思流:Stream现实网络中有没有进行网络数据输入输出的操作?有!例如:网上注册信息的时候,对图片信息进行上传。—上传 —输入到程序中 输入流从网上下载数据的时候,也是数据的传输。 —下载 —输出的操作 输出流...原创 2020-08-12 22:19:50 · 160 阅读 · 0 评论 -
System类
System类System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。方法名说明static void arraycopy(…)复制数组static long currentTimeMillis();获取当前系统时间,返回毫秒值(1970年到现在的毫秒数)static void gc();建议JVM赶快启动垃圾回收器回收垃圾static void exit(int status);退出JVM,如果参数是0表示正常退出JVM,非0表示异常原创 2020-08-11 21:47:15 · 85 阅读 · 0 评论 -
SimpleDateFormat类
SimpleDateFormat类SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。进行格式化(日期->文本)、解析(文本->日期)。常用的时间模式字母字母日期或时间示例y年2020M月份08d天数10H24小时数(0-23)21m分钟56s秒30S毫秒367import java.util.Date;import java.text.Sim原创 2020-08-10 22:12:06 · 108 阅读 · 0 评论 -
Calendar类
Calendar类Calendar提供了获取或设置各种日历字段的方法。构造方法protected Calendar(); //由于修饰符是protected,所以无法创建该对象。其他方法方法名说明static Calendar getInstance()使用默认时区和区域获取日历void set(int year, int month, int date, int hour_of_day, int minute, int second)设置日历的年、原创 2020-08-09 20:06:11 · 76 阅读 · 0 评论 -
Date类
Date类Date表示特定的瞬间,精确到毫秒。Date类中大部分方法都已经被Calendar类中的方法所取代import java.util.Date;public class Demo5 { public static void main(String[] args) { Date date1= new Date(); System.out.println(date1.toString()); System.out.println(date1.toLocaleString());原创 2020-08-08 20:53:25 · 85 阅读 · 0 评论 -
BigDecimal
BigDecimal看一下这个程序,猜猜结果会是多少public class demo4 { public static void main(String[] args) { double a = 1.0; double b = 0.9; System.out.println(a-b); }}编译结果0.09999999999999998很多实际应用中需要精确运算,而double是近似值存储,不存在符合要求,需要借助BigDecimal。package test;原创 2020-08-07 20:35:56 · 68 阅读 · 0 评论 -
StringBuffer方法使用
StringBufferStringBuffer:可变长字符串,JDK1.0提供, 运行效率慢、线程安全。StringBuffer方法使用:public class demo3 { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); //append(); 追加 sb.append("java"); System.out.println(sb.toString()); sb.原创 2020-08-06 22:56:30 · 100 阅读 · 0 评论 -
String常用方法
String常用方法String常用方法作用public int length();返回字符串长度。public char charAt(int index);根据下标获取字符。public boolean contains(String str);判断当前字符串中是否包含str。public char[] toCharArray();将字符串转换成数组。public int indexOf(String str);查找str首次出现的下标, 存在则返原创 2020-08-05 21:12:46 · 91 阅读 · 0 评论 -
包装类
包装类Java中的基本数据类型没有方法和属性,而包装类就是为了让这些拥有方法和属性,实现对象化交互。包装类对应表基本类型数据包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleBoublebooleanBooleancharCharacter转换类型、装箱、拆箱public class demo { public static void main(Stri原创 2020-08-04 21:55:56 · 87 阅读 · 0 评论 -
finalize()方法
finalize()方法当对象被判定为垃圾对象的时候, 由JVM自动调动此方法,用以标记垃圾对象, 进入回收队列。垃圾对象:没有有效引用指向对象时,为垃圾对象;垃圾回收:由GC销毁对象,释放数据存储空间。自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。手机回收机制:使用System.gc(); 通知JVM执行垃圾回收。finalize默认方法protected void finalize() throws Throwable {}方法重写public class demo1原创 2020-08-03 20:43:45 · 101 阅读 · 0 评论 -
equals()方法
Object类equals()方法public boolean equals(Object obj){}//默认方法public boolean equals(Object obj){ return (this == obj)}默认实现为(this == obj), 比较两个对象地址是否相同。可以进行覆盖,比较两个对象的内容是否相同。equals()方法覆盖步骤比较两个引用是否指向同一个对象。判断obj是否为null判断两个引用指向的实际对象类型是否一致。强原创 2020-08-02 21:24:00 · 152 阅读 · 0 评论 -
Object类toString方法
toString()方法public String toString(){}返回该对象的字符串表示(表现形式)可以根据程序需求覆盖该方法,如:展示对象各个属性默认无参构造如下:public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode());}调用后编译结果public class Application { public static void main(S原创 2020-08-01 20:49:22 · 117 阅读 · 0 评论 -
Object类hashCode()类
Object类hashCode方法public int hashCode(){}返回该对象的哈希码值。哈希值根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值。一般情况下相同对象返回相同哈希值。 System.out.println(student1.hashCode()); System.out.println(student2.hashCode()); Student s3 = student1; System.out.println(s3.hashCode())原创 2020-07-31 22:35:07 · 278 阅读 · 0 评论 -
Object类getClass()方法
Object类getClass()方法public final Class<?> getClass(){}。返回引用中存储的实际对象类型。通常用于判断两个引用中实际存储对象类型是否一致。public class Student { private String name; private int age; public Student(String name, int age) { super(); this.name = name; this.age = age;原创 2020-07-30 21:05:13 · 459 阅读 · 0 评论 -
匿名内部类
匿名内部类没有类名的局部内部类(一切特征都与局部内部类相同)。必须继承一个父类或者实现一个接口。定义类、实现类、创建对象的语法合并,只能创建一个该类的对象。优点:减少代码量。缺点:可读性差。public interface USB { public void service();}public class Application { public static void main(String[] args) { //使用匿名内部类(相当于创建了一个局部内部类)。 USB原创 2020-07-29 21:44:52 · 79 阅读 · 0 评论 -
局部内部类
局部内部类定义在外部类方法中,作用范围和创建对象范围仅取决于当前方法。局部内部类访问外部类当前方法中的局部变量时,因无法保障变量的生命周期与自身相同,变量必须修饰为final局部内部类限制类的使用访问//外部类public class Outer { private String name = "xxx"; private int age = 18; public void show() { //定义局部变量 String address = "深圳"; //局部内原创 2020-07-28 21:15:27 · 139 阅读 · 0 评论 -
静态内部类
静态内部类不依赖外部类对象,可直接创建活通过类名访问,可声明静态成员。只能直接访问外部类的静态成员(实例成员需要实例化外部类对象)。//外部类public class Outer { private String name = "xxx"; private int age = 18; //静态内部类:和外部类相同 static class Inner{ private String address = "北京"; private String phone = "10086原创 2020-07-27 22:24:06 · 71 阅读 · 0 评论 -
成员内部类
成员内部类内部类就是在一个类的内部再定义一个类,比如A类中定义一个B类,那么B类相对A来说就称为内部类,而A类相对B类来说就是外部类了。public class Outer { private int id; public void out() { System.out.println("这是外部类的方法"); } //成员内部类 class Inner{ public void in() { System.out.println("这是内部类的方法"); }原创 2020-07-26 21:53:18 · 92 阅读 · 0 评论 -
接口
接口接口只有规范,自己无法实现方法。接口可以实现多继承。接口中的所有方法定义默认都是抽象的public abstract。变量默认都是public static final。interface是接口定义的关键字。类可以通过implement关键字来连接接口,可以连接多个接口。连接了接口的类必须要重写接口中的方法。public interface UserService { //默认为静态常量,等同于 public static final int age = 99 public int a原创 2020-07-25 22:51:02 · 59 阅读 · 0 评论 -
abstract抽象类
abstract抽象类abstract修饰符可以用来修饰方法也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类。//抽象类public abstract class Action { //抽象方法 public abstract void run();}抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法只有方法声明没有方法实现,它是用来让子类实现的原创 2020-07-24 20:16:39 · 66 阅读 · 0 评论 -
instanceof
instanceofinstanceof(类型转换)引用类型,判断一个对象是什么类型,判断两个类有没有父子关系。public class Person { public void run() { System.out.println("Person=>run"); }}public class Student extends Person { @Override public void run() { System.out.println("Student=>原创 2020-07-23 21:07:38 · 70 阅读 · 0 评论 -
多态
Java多态方法重写重点:1.方法名必须相同。2.参数列表必须相同。总而言之子类和父类方法必须一致,方法体不同。静态方法与非静态方法区别很大,只有非静态方法可以重写静态方法不能重写。静态方法public class B { public static void test() { System.out.println("B => test()"); }}public class A extends B{ public static void test() { Syst原创 2020-07-22 21:12:53 · 78 阅读 · 0 评论 -
Java继承
继承继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是“扩展”,子类是父类的扩展。Java中类只有单继承没有多继承。在Java中,所有的类都默认直接或者间接继承object子类继承了父类就会拥有父类的全部方法//父类public class Person { int money = 100; public void say() { Syst原创 2020-07-21 21:34:59 · 69 阅读 · 0 评论 -
Java封装
封装把数据的属性隐藏起来,避免程序直接对属性进行访问,应该通过接口方法来进行操作,这称为信息隐藏。在属性值前面加上private私有化,禁止外部程序访问,只能通过内部程序的接口方法进行访问操作。public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.nam原创 2020-07-20 21:54:28 · 67 阅读 · 0 评论 -
Java构造器详解
构造器详解构造器特点:类中的构造器也称为构造方法,是进行创建对象的时候必须要调用的,构造器有一下两个特征:1.必须和类的名字相同2.必须没有返回类型,也不能写void构造器作用使用new关键字创建的时候,除了分配内存空间以外,还会给创建好的对象进行默认初始化以及对类中构造器的调用使用new关键字本质是在调用构造器package demo01;public class Application { public static void main(String[] args) { /*调原创 2020-07-18 22:26:39 · 108 阅读 · 0 评论