![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
one goto one
不苟且于现状,不停留于浅薄
展开
-
Java之Socket服务端、客户端
一、服务端1.1 单一连接package com.demo;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class Test { public static void main(String[] args) { int len = 0; byte[] data = new byte[120];原创 2021-09-23 21:45:11 · 681 阅读 · 0 评论 -
Java之通配符
一、通配符使用场景问题:同一泛型类,如果示例化时给定的实际类型不同,则这些实例的类型不兼容时,不能相互赋值Generic<Boolean> f1 = new Generic<Boolean>();Generic<Integer> f1 = new Generic<Integer>();f1 = f2; //编译错误Generic<Object> f = f1; //f和f1类型并不兼容,发生编译错误f = f2; //f和f2类型同样原创 2021-09-13 23:27:14 · 253 阅读 · 0 评论 -
Java泛型限制可用类型
1. 限定整型方法:让泛型去继承整型示例:package com.demo1;class Child <T extends Integer> { T a; public Child(T a) { this.a = a; System.out.println("a = "+this.a); }} public class Test { public static void main(String[] args) { Child<Integer>原创 2021-09-13 17:25:46 · 680 阅读 · 0 评论 -
Java泛型(泛型类、泛型方法、泛型接口)
目录标题泛型引入1. 泛型类特点2. 最简单泛型类3. 泛型方法4. 泛型接口5. 泛型类可是同时设置多个类型参数6. 泛型的类型参数可以是泛型类7. 泛型类可以继承泛型类8. 泛型类可以实现泛型接口泛型引入如果我们需要产生多个对象,每个对象的逻辑完全一样,只是对象内的成员变量的类型不同,那我们如何去做?此时,我们就引入了泛型。泛型:让数据类型变得参数化。定义泛型时,对应的数据类型是不确定的。泛型方法被调用时,才指定具体类型这样就解决了多个相似的类(方法、接口 )创建的问题,一个泛型类即可代替所原创 2021-09-12 22:51:13 · 3561 阅读 · 1 评论 -
Java异常捕获处理和异常抛出及自定义异常
目录标题一、捕获和处理异常二、异常抛出1. throw2. throws三、自定义异常1. 自定义异常概念2. 自定义异常类3. 示例一、捕获和处理异常try{} 语句块中放要检查的代码,有异常就会自动抛出catch(异常类型){} 语句块接收到 try{} 中锁抛出的异常对象,会寻找嫩处理这一异常catch块来进行处理(可以有多个catch块,由异常类型范围小到大排列)finally{} 不管系统有没有抛出异常语句块都会执行,一般用来解放资源。除了在之前执行了system.exit(0)异常原创 2021-09-12 16:40:43 · 3913 阅读 · 0 评论 -
Java之多态
目录标题一、什么是多态?二、向上转型与向下转型1. 向上转型2. 向下转型三、多态示例一、什么是多态?多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。具体来说:多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源原创 2021-09-06 16:45:24 · 82 阅读 · 0 评论 -
Java内部类之匿名内部类(二)
一、匿名内部类特点匿名内部类是没有名称的内部类,没办法引用它们,必须在创建时,作为new语句的一部分来声明并创建它们的实例匿名内部类必须继承一个类(抽象、非抽象都可以)或者实现一个接口,所有父类(或者父接口)是抽象类,则匿名内部列必须实现其所有抽象方法二、匿名内部类使用//类方式new superclass(){类体}//接口方式new interface{接口体}这两种方式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给的的接口,并同时创建匿名类的一个新实例原创 2021-08-30 18:59:05 · 144 阅读 · 0 评论 -
Java内部类之成员内部类(一)
目录标题一、内部类特点二、内部类的使用1. 内部类的创建2. 访问内部类3. 内部类访问外部类一、内部类特点内部类可以很好的实现隐藏,可以使用protected/private修饰符内部类可以直接访问外部类的所有成员,包括私有的成员外部类不能直接访问内部类的成员,必须先建立内部类的对象才能访问二、内部类的使用1. 内部类的创建内部类就是类的嵌套操作2. 访问内部类创建成员内部类的实例使用的形式外部类名.内部类 实例 = 外部类实例名.new 内部类构造方法(参数);实例3.原创 2021-08-30 18:21:48 · 59 阅读 · 0 评论 -
Java之接口与使用
一、接口特点Java接口是对功能的拓展通过实现接口,Java类可以实现多实现接口中只能存放静态变量(必须初始化)和抽象方法一个类可以同时继承一个父类并且实现多个接口接口也可以继承接口二、接口使用1. 定义接口:[public]interface 接口名称 [extends父接口名列表] { //静态常量 [public] [static] [final] 数据类型变量名=常量值; //抽象方法 [public] [abstract] [native] 返回值类型方法名(参数列表)原创 2021-08-30 16:58:26 · 67 阅读 · 0 评论 -
java之抽象类与模板方法模式
目录标题一、抽象类概念二、抽象方法的特点三、抽象类的特点四、创建抽象类与抽象方法五、抽象类与抽象方法的使用六、模板方法模式1. 定义2. 意图3. 模式结构4. 示例一、抽象类概念Java中可以定义没有方法体的方法,该方法由子类来具体实现该没有方法体的方法我们称之为抽象方法,含有抽象方法的类称之为抽象类二、抽象方法的特点只有方法头没有方法体的方法称为抽象方法抽象方法用abstract来修饰抽象方法代表一种不确定的操作或行为抽象方法不能被调用三、抽象类的特点定义中含有抽象方法的类原创 2021-08-28 19:59:35 · 819 阅读 · 5 评论 -
Java之简单工厂模式
一、工厂构建及主程序调用方式工厂创建一个方法public static Person getPerson(String name){},由主程序调用创建需要的对象主程序通过调用Factory.getPerson(string name),让工厂去创建对应的对象,接着主程序便可去调用该对象里的方法二、功能程序构成功能程序构由一个父类与多个子类构成,使用继承是为了实现代码的重用通常一个子类单独放一个文件下,一个子类就是一个功能程序子类通过构造方法调用父类的构造方法进行初始化三、demopac原创 2021-08-28 12:27:05 · 279 阅读 · 0 评论 -
Java之继承的用法、extends关键字、super关键字、私有权限、方法重写、Object常见方法
目录标题一、继承概念二、继承的意义三、继承的用法(extends关键字)1. 格式2. 示例四、super关键字1. 特点2. 示例一、继承概念生活中:继承需要符合的关系:子集(食草动物)属于 全集(动物)java中:继承背后的思想就是基于已存在的类来构建新类当从已存在类继承时,就重用了他的方法和属性,还可以添加新的方法和属性来定制新的类以应对需求约定:从其他类导出的类叫做子类,别导出的类叫父类在Java中,除了Object类之外,所有类都是子类,都只有唯一的父类继承在00P中不可或缺原创 2021-08-27 19:28:30 · 263 阅读 · 0 评论 -
Java封装之包详解
目录标题一、包的引入二、包的作用三、包的创建与使用1. 包的命名原则2. 如何使用其他包的公开类3. 导入具有相同类名的包的正确方式4. 不同包相同类名下,引用类的优先顺序一、包的引入类的个数很多时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名冲突问题。为了解决该问题Java 引入了包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突、类文件管理等问题。二、包的作用区分相同名称的类,防止命名冲突能够较好地管理大量的类,也就是将类组织起来放进一个包内控制访问范原创 2021-08-26 19:03:30 · 367 阅读 · 0 评论 -
Java static关键字
static关键字特点用来修饰类的成员--------修饰成员变量的称为类变量(静态变量)修饰成员方法称为类方法(静态方法)当类被加载的时候就会被加载,优先于对象的存在,不依赖对象进行访问用来修饰语句块----------称之为静态代码块,先于构造方法之前执行,只会执行一次,用来对静态成员做初始化调用的时候可以直接通过类名.成员来进行访问示例特点1 + 特点5使用static修饰成员变量名,主函数中可以直接通过类名.成员来进行访问package demo;class Stude原创 2021-08-25 20:29:19 · 77 阅读 · 0 评论 -
Java this关键字(方法内使用)
this关键字特点当在方法内需要调用到该方法的对象时就可以用thisthis可以看做是一个变量,他的值是当前对象的引用使用this可以处理方法中的成员变量和形参同名的问题在类的构造方法中可以调用this([参数列表])来调用该类的指定构造方法示例特点1package demo;class Student { private int age; Student(int finalAge) { age = finalAge; } void getAge() {原创 2021-08-25 19:23:32 · 178 阅读 · 0 评论 -
Java 封装之构造方法
UML图UML图又称统一建模语言或标准建模语言类的属性、操作中的可见性使用 - 、+ 、 # 分别表示private、public、protected构造方法类的构造方法的概念和作用构造方法负责对象的初始化工作,为对象的属性赋合适的初始值创建对象时,齐类的构造方法确保在用户操作对象之前,系统保证初始化的进行构造方法的语法规则构造方法名与类名一致没有返回值方式实现主要为字段赋初值构造方法的调用构造方法的调用和特别: new操造符(实例化对象的时候,自动被调用)注意:构造原创 2021-08-25 17:31:05 · 71 阅读 · 0 评论 -
Java封装之访问修饰符
访问修饰符private-----------该类或非该类均可访问protected-------只有该类可访问public------------该类及其子类的成员可以访问,同一个类也可以访问默认--------------同一个包中的类可以访问信息隐藏是00P最重要的功能之一,也是会用访问修饰符的原因信息隐藏的原因对模块的任何实现细节所做的更改不会影响使用该模块的代码防止用户意外修改数据使模块易于维护和使用(就是电脑配件)示例对于没有访问权限的成员,我们可创建一个publ原创 2021-08-25 16:57:18 · 102 阅读 · 0 评论 -
Java封装类及封装类的使用
package demo;class Student { int age; String name; void introduce() //方法 = 函数 { System.out.println("age="+age+" name="+name); }}public class Test { public static void main(String[] args) { Student stu = new Student(); //示例化一个对象 //类不能直接使原创 2021-08-24 19:56:13 · 545 阅读 · 0 评论 -
Java的输入类scanner
使用类scanner首先要定义一个类并传递参数System.in去调用scanner类底下的方法去获取用户的输入import java.util.Scanner;public class Test { public static void main(String[] args) { int a; float b; String str; Scanner sc = new Scanner(System.in); System.out.println("请输入一个整形数:")原创 2021-08-24 19:18:48 · 173 阅读 · 0 评论 -
Java 方法与C语言函数微区别
简介Java 方法与C语言函数的区别在于函数的调用方式不同示例方式一:static法public class Test { static void function() { System.out.println("hello world!"); } public static void main(String[] args) { function(); }}或 static法加使用类名调用public class Test { static void function原创 2021-08-24 18:38:52 · 317 阅读 · 0 评论 -
Java数组与C语言数组微区别
简介Java数组与C语言数组微区别,总结有3点,其一数组定义方式,其二数组长度获取其余的下标法访问数组等等都与C原因一模一样备注:null在Java中是小写区别1. 数组定义方式方式一:[] 中不能指定数组大小两组语法示例int array[];或者int [] array;该方式下可以直接给数组赋值int array[] {value0, value1, ..., valuek};或者int [] array {value0, value1, ..., valuek};原创 2021-08-24 18:00:04 · 459 阅读 · 0 评论 -
system.out.println 函数使用
System.out.println快捷键 syso+ALT+/+: 链接作用public class Test { public static void main(String[] args) { int a = 10; int b = 10; int c; //输出a的值 System.out.println("a="+a); //输出c=a+b的值 c = a +b; System.out.println("c="+c); //输出a+b=原创 2021-08-23 17:36:18 · 5142 阅读 · 1 评论 -
Java JRE JDK
Java JRE:支持Java运行环境的一个软件,实现Java跨平台运行Java运行环境(Java Runtime Environment,简称JRE)是一个软件,JRE让计算机系统运行Java应用程序(Java Application)。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。java JDK:Jdk就是一个工具包,包含了java开发和执行的环境,要使用到java就需要jdkJdk是java语原创 2021-08-23 17:07:37 · 78 阅读 · 0 评论 -
Java SE EE ME概念及区别
Java SE:Java SE(Java Standard Edition,Java 标准版)是Java技术的核心和基础,是Java ME和Java EE编程的基础JAVA SE是运行JAVA程序不可缺少程序开发环境原创 2021-08-23 16:58:46 · 115 阅读 · 0 评论 -
Java安卓开发环境搭建及运行“Hello world!”
安卓环境搭建百度网盘链接https://pan.baidu.com/s/1PSyMc2TbyqHEHwFok7nmFw安装过程极其简易,直接解压压缩包就可以打开软件进行开发了运行"Hallo world!"原创 2021-08-23 16:21:33 · 170 阅读 · 0 评论