java
dz小伟
dz小伟
展开
-
java——socket编程
一、服务端ServerSocket类,构造方法时端口号就写进去了(有很多构造方法) 必须处理异常,不然编译不通过,快捷键ctrl+1 try { ServerSocket sock = new ServerSocket(8989); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 等待连接accept,会返回一个连接通道,Socke原创 2021-06-22 15:21:42 · 258 阅读 · 0 评论 -
Java泛型——泛型方法
目录一、概念二、什么时候使用泛型方法三、代码演示一、概念不仅类可以声明泛型,类中的方法也可以声明仅用于自身的泛型,这种方法叫做泛型方法,其定义格式为访问修饰符<泛型列表>返回类型 方法名(参数列表){ 代码}在泛型列表中声明的泛型,可用于该方法的返回类型声明、参数类型声明和方法代码中的局部变量的类型声明类中其他方法不能使用当前方法声明的泛型二、什么时候使用泛型方法不希望方法中的数据类型被类所限制添加类型约束只作用于一个方法的多个参数之间,而不涉及到类中的其他方法原创 2021-06-16 10:39:46 · 127 阅读 · 0 评论 -
Java泛型——类型通配声明
目录一、引入二、通配符使用一、引入同一泛型类,如果实例化时给定的实际类型不同,则这些实例的类型是不兼容的,不能相互赋值泛型类实例之间的不兼容性会带来使用的不便,我们可以使用**泛型通配符(?)**声明泛型类的变量。Cls1<Integer> c1 = new Cls1<Integer>(10);Cls1<Double> c2 = new Cls1<Double>(10.12);Cls1<Object> c3 = new Cls1&l原创 2021-06-16 08:40:33 · 155 阅读 · 0 评论 -
Java泛型——限制可用类型
目录一、限制泛型可用类型二、代码理解一、限制泛型可用类型在定义泛型类别时,默认在实例化泛型类的时候可以使用任何类型,但是如果想要限制使用泛型类型时,只能用某个特定类型或者是其子类型才能实例化该类型时,可以在定义类型时,使用extends关键字指定这个类型必须是继承某个类,或者实现某个接口当没有指定泛型继承的类型或接口时,默认使用extends Objext,所以默认情况下任何类型都可以做为参数传入二、代码理解限制类型class Cls1<T extends String>{ //原创 2021-06-16 08:16:35 · 1577 阅读 · 0 评论 -
Java泛型——特点
目录一、泛型类及特点1.1泛型的类型参数可以是泛型类1.2泛型类可以同时设置多个类型参数1.3泛型类可以继承泛型类1.4泛型类可以实现泛型接口一、泛型类及特点1.1泛型的类型参数可以是泛型类class Cls1<T>{ T a; public Cls1(T a){ this.a = a; } public T getData(){ return a; }}public class Test { public static void main(String[] ar原创 2021-06-15 13:49:51 · 1236 阅读 · 1 评论 -
Java泛型——简介
目录一、问题引入二、泛型简介()一、问题引入如果需要产生多个对象,每个对象逻辑一样,只是对象内的成员变量类型不同,如何做?创建多个类,给每一个类成员设置指定数据类型缺点:会导致类的膨胀,重用性太差class Cls1{ int a; public Cls1(int a){ this.a = a; } public int getData(){ return a; }}class Cls2{ String a; public Cls2(String a){ thi原创 2021-06-15 11:13:24 · 149 阅读 · 0 评论 -
Java异常——throw、throws及自定义异常
目录一、throw和throws二、自定义异常一、throw和throwsthrow用于手动抛出异常,作为程序员可以在任意位置手动抛出异常throws用于在方法上标识要暴露的异常,抛出的异常交由调用者处理两者区别1.throw用在方法内,后面跟上要抛出的异常类对象2.throws修饰在方法上,告诉调用者此方法可能会抛出异常,后面跟上要抛出的异常类名class Bar{ int age; public Bar(int age){ this.age = age; } void ch原创 2021-06-14 15:01:24 · 594 阅读 · 0 评论 -
Java异常——概念
目录一、概念1.1、什么是异常1.2、异常导致的后果1.3、如何防止异常二、异常分类三、异常处理机制一、概念1.1、什么是异常指在程序运行过程中发生的一些不正常事件,如:除0溢出,数组下标越界,所要读的文件不存在1.2、异常导致的后果java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息,并将其被提交给java运行时系统,这个过程称为抛出异常,不处理的话会导致程序直接中断1.3、如何防止异常设计良好地程序应该在程序异常发生时提供处理这些异常的方法,使得程原创 2021-06-14 09:29:14 · 66 阅读 · 0 评论 -
Java异常——处理机制Try-catch-finally
目录一、概念二、代码理解一、概念Try-catch-finally不一定要同时存在,就像if else一样,可以只有Try-catch,没有finallytry{}语句块中放的是要检测的java代码,可能有会抛出异常,也可能会正常执行catch(异常类型){}块是当java运行时系统接收到try块中所抛出的异常对象时,会寻找能处理这异常catch块来处理(可以有多个catch块)finally{}不管系统有没有抛出异常都会去执行,一般用来释放资源,除了在之前执行了System.exit(0)原创 2021-06-14 09:28:20 · 152 阅读 · 0 评论 -
Java多态——应用之打印机
目录一、代码一、代码/*正常,不用多态写class School{ public CaiSeDayin cy; public HeBaiDayin hy; public void anZhuang(CaiSeDayin cy){ this.cy = cy; } public void anZhuangh(HeBaiDayin hy){ this.hy = hy; } public void print(String contex){ cy.print(contex)原创 2021-06-13 16:45:04 · 920 阅读 · 0 评论 -
Java多态——对象的上下转型
目录一、概念二、完整代码一、概念由子类转型成父类,在继承图上是向上移动的,一般称为向上转型上一篇文章的代码就是向上转型Animal a1 = new Dog();Animal a1 = new (Animal)Dog(); //实际上就是强转,但是一般不需要写出来向上转型是从一个较专用类型向通用类型转换,所以总是安全的(体现在运行过程,编译报错),也就是说,子类是父类的超集向上转型过程中,类接口中唯一可能发生的事情是丢失方法,而不是获取方法class Dog extends原创 2021-06-13 09:55:05 · 80 阅读 · 0 评论 -
Java多态——概念
目录一、概念二、必要条件三、作用四、代码理解一、概念多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果二、必要条件需要存在继承或实现(接口)关系同样的方法调用而执行不同操作、运行不同代码(重写)在运行时父类或者接口的引用变量可以引用其子类的对象三、作用多态通过分离做什么和怎么做,从一个角度将接口和实现进行分离多态消除了类型之间的耦合关系多态的存在提高了程序的拓展性和后期的可维护性四、代码理解//需要存在继承或实现(接口)关系abstract clas原创 2021-06-13 08:52:49 · 166 阅读 · 0 评论 -
Java——内部类
目录一、内部类1.1、内部类概念1.2、内部类特点1.3、成员内部类及应用二、匿名内部类三、代码演示一、内部类1.1、内部类概念就是将一个类定义在另一个类的内部,内部的类简称内部类public class Outer{ class Inner{ }}1.2、内部类特点内部类可以很好的实现隐藏,可以使用protected private修饰符内部类可以直接访问外部类的所有成员,包括私有的成员外部类不能直接访问内部类的成员,必须首先建立内部类的对象才能访问//外部类访问内部类原创 2021-06-12 11:27:10 · 83 阅读 · 1 评论 -
Java——接口
目录一、概念二、代码演示一、概念接口语法interface 接口名{//公有静态常量、抽象方法}接口的特点1.接口中只能存放静态常量和抽象方法2.java接口是对功能的扩展3.通过实现接口,java类可以实现多实现一个类可以同时继承一个父类并且实现(implements)多个接口4.接口与接口之间可以使用extends实现继承接口与抽象类的区别接口强调行为,继承是类似于亲属关系的1.抽象类和具体实现之间是一个继承关系,也就是如果采用抽象类的方式,则父类和子类在概念上应该是相同的原创 2021-06-11 15:24:02 · 74 阅读 · 0 评论 -
Java 模板方法模式
目录一、概念二、代码实现一、概念定义一个模板方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体行为意图定义了一个操作中的一个算法框架,把一些步骤推迟到子类去实现。模板方法模式让子类不需要改变算法结构二、代码实现//抽象类,模板abstract class Con1{ abstract void initUart(); abstract void getcomand(); abstract void openTV(); //实现功能流程 public void原创 2021-06-11 11:01:03 · 58 阅读 · 0 评论 -
Java抽象类和抽象方法
目录一、概念二、代码理解一、概念抽象类java中可以定义没有方法体的方法称为抽象方法,该方法由子类具体实现,含有抽象方法的类称为抽象类抽象方法的特点只有方法头没有方法体的方法抽象方法用abstract修饰抽象方法代表一种不确定的操作或行为抽象方法不能被调用抽象方法的特点定义中含有抽象方法的类叫抽象类抽象类用abstract来修饰抽象类代表一种抽象的对象类型抽象类才能实例化抽象类中可以有具体方法,可以没有抽象方法二、代码理解abstract class Demo{原创 2021-06-11 10:44:58 · 308 阅读 · 2 评论 -
Java继承——Object
目录一、Object类二、代码演示一、Object类java中,所有类都直接或间接继承自java.lang.Object类,可以说Object是java中所有类的祖先即根类java中任何类都继承了Object类中的方法,主要有toStrring()public String toString() { // TODO Auto-generated method stub //return super.toString(); //默认打印包名+类内存地址 return "per原创 2021-06-10 11:13:57 · 564 阅读 · 0 评论 -
Java继承——方法重写
目录一、概念二、代码演示一、概念什么是方法重写,重载(方法名称一样,参数列表不一样),重写(完成做到重写,都一样,实现功能不一样)方法重写是指子类可以根据需要对父类继承来的方法进行改写,是多态机制的前奏注意点重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值public void printInfo(){ super.printInfo(); //用super调用父类方法 System.out.println("子类name=" + name); //不写父类的会优先原创 2021-06-10 09:55:30 · 376 阅读 · 0 评论 -
Java继承——super关键字
目录一、super关键字二、完整代码一、super关键字私有属性方法,子类无法继承super和this的特点相似:super代码父类对象的引用,this该类对象引用当子父类的成员出现同名时,可以通过super来区分子类的构造方法中,通过super关键字调用父类的构造方法当构造一个子类对象的时候一定会先调用父类的构造方法来构造父类的对象。调用父类构造方法的语句必须是子类构造方法中的第一条指令。/*父类构造方法写了以后,子类继承就要写,不写默认都是下面的构造方法*///public Pers原创 2021-06-10 09:18:40 · 101 阅读 · 0 评论 -
Java继承——概念及extends关键字的使用
目录一、概念二、extends关键字三、代码实现一、概念父类更抽象更一般,子类更具体更特殊继承的意义,代码重用继承,基于已存在的类来构建新类当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应付需求约定:从其他类导出的类叫子类,被导出的类叫父类在java中,除了Object类外,所有类都是子类,都有唯一的父类二、extends关键字在java中,用extends关键字来表示一个类继承了另一个类public class Teacher extends原创 2021-06-09 12:33:27 · 194 阅读 · 0 评论 -
Java封装——包(package)
目录一、打包的意义二、使用三、代码演示一、打包的意义Package——声明包可以编写属于自己的java包,为了保证包名的唯一性,要求唯一的前缀,推荐使用互联网上的域名倒置作为唯一前缀标准Java库是由一系列包组成,包括java.lang java.util等等标准包就是层次型包结构,就如同硬盘上嵌套的子目录一样,我们可以使用嵌套层次结构来组织包**为了更好的规范代码,防止命名冲突和混乱,**所以java出现了打包机制当把类组织起来放进一个包内时,也就给包中的成员赋予了相互访问的权限,就拥原创 2021-06-09 10:36:28 · 679 阅读 · 1 评论 -
Java封装——this、static关键字
目录一、this关键字作用二、static关键字三、代码演示一、this关键字作用第3和最后一个用的最多在类的方法中,使用this代表的是调用此方法的对象的引用//类中使用this,就调用了对象的name变量void testThis(){ System.out.println(this.name);}Student stu3 = new Student(18,"xiaowei",99.9);//stu3.introduce();stu3.testThis();/*xiaowe原创 2021-06-08 12:42:40 · 116 阅读 · 1 评论 -
Java封装——构造方法
目录一、概念和作用二、代码演示一、概念和作用构造方法负责对象的初始化,为属性赋合适的初始值构造方法语法规则构造方法名与类名一致没有返回类型,什么都不写(void是无类型变量)方式实现主要为字段赋初值构造方法调用new操作符(实例化对象时,自动调用)Java系统保证每个类都有构造方法即使你没写构造方法,系统也会自动帮你写上二、代码演示构造方法是可重载的,可以写多个(函数名一样,参数不一样)class Student{//class 相当于c语言的struct int age;原创 2021-06-08 09:44:02 · 86 阅读 · 0 评论 -
Java封装——访问修饰符
目录一、作用及种类二、深度理解三、代码理解一、作用及种类作用:信息隐藏防止用户意外修改数据,使模块易于维护和使用有哪些修饰符呢?private:只有该类可以访问protected:该类及其子类的成员可以访问,同一个包中的类也可以访问public:该类或非该类可以访问默认:同一个包中的类可以访问可以作用于类,成员,方法二、深度理解同一个类就是同一个类里面的,类相当于结构体同一个包圈中的就是包三、代码理解class Student{//class 相当于c语言的str原创 2021-06-07 21:38:01 · 140 阅读 · 2 评论 -
Java封装——类
目录一、什么是封装二、封装类一、什么是封装将方法(函数指针)和字段(char等数据类型)一起包装到一个单元中,单元以类的形式实现。信息隐藏,隐藏对象的实现细节,不让外部直接访问到。封装:将数据和方法包装在类中,加上具体实现的隐藏(访问修饰符,后面文章会具体说),共同被称作封装。其结果是同时带有特征(char等数据类型)和行为(函数指针)的数据类型类:用户自定义的数据类型,也称类类型(结构体)对象:类的具象(具体对象),也就是结构体变量二、封装类封装类相当于c语言的结构体struct原创 2021-04-11 23:25:34 · 370 阅读 · 0 评论 -
java程序演示
目录一、比较大小二、计算加减乘除一、比较大小public class Test { public static void main(String[] args) { //int sore[] = {88,6,8,98}; int [] sore = new int[4]; sore[0] = 88; sore[1] = 6; sore[2] = 8; sore[3] = 98; int max; int min; int i; max = min = sore原创 2021-04-11 17:38:40 · 148 阅读 · 0 评论 -
java——书写和C语言对比
目录1、main2、printf3、变量4、流程控制5、数组6、函数1、mainc语言int main(int argc, char **argv){ return 0;}java//Teat相当于c的结构体public class Teat { public static void main(String[] args) {//写main,alt+/就会出来 }}2、printfc语言printf("hell");printf("a=%d",a);原创 2021-02-21 15:49:17 · 193 阅读 · 0 评论 -
java——JRE JDK
目录1、JRE2、JDK1、JREJava运行环境(Java Runtime Environment ,简称JRE)是一个软件,JRE可以让计算机运行Java应用程序JRE可以安装在window,Linux,手机上面,跨平台强,只要安装JRE就能运行javaJRE内部有Java虚拟机(Java Virtual Machine,JVM),以及一些标准的类别函数库2、JDKJDK是Java语言开发工具包,JDK是整个Java核心包括了Java运行环境JRE,一堆Java工具和Java基础类库原创 2021-02-21 14:19:27 · 101 阅读 · 0 评论 -
java——SE EE ME区别
目录1、java SE2、java EE3、java ME1、java SE标准java语言,类似c语言的变量、流程控制、函数、指针最基础的东西通常是指 Java Standard Edition,Java 标准版Java SE(Java Platform,Standard Edition)Java SE 以前称为J2SE它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序2、java EE多了一些API,相当于c语言面向Linux应用层的开发是指 Java原创 2021-02-21 13:39:43 · 152 阅读 · 0 评论