
java基础
Java基础
破 茧
这个作者很懒,什么都没留下…
展开
-
java继承之super关键字
super关键字和this关键字相似:super代表父类对象的引用。this:当前类的对象的引用super关键字使用:当子父类成员出现同名时,可以用super区分子类的构造方法,通过super调用父类的构造方法...原创 2021-07-15 16:12:08 · 132 阅读 · 0 评论 -
java继承之方法的重写
概念:子类根据需要对父类继承来的方法改写注意点:重写方法名和参数,放回值必须和父类方法完全一样重写方法不能比父类方法有更严格的访问权限父类中私有方法不能重写(无法继承到)在子类方法中继续调用父类方法,可以使用super.函数名...原创 2021-07-15 16:11:56 · 140 阅读 · 0 评论 -
java继承之Object类
java中,所有的类都直接或间接继承java.lang.Object类所以,java中任何类都继承了Object类的方法:toString():返回该对象字符串描述的信息,默认输出格式:类名:[字段值] 经常根据需求改写equals():原始功能是判断两个对象是否具有相同的引用,判断两个对象状态的相等性...原创 2021-07-15 16:11:40 · 742 阅读 · 0 评论 -
泛型类及特点
1.泛型的类型参数可以是泛型类2.泛型类可以同时设置多个类型参数3.泛型类可以继承泛型类4.泛型类可以实现泛型接口class Generics2<T,T1>{ T a; T1 b; public Generics2(T a,T1 b){ this.a = a; this.b = b; } public T GetData(){ return a; } public T1 GetData2(){ return b; } }public cla原创 2021-07-14 09:03:26 · 247 阅读 · 0 评论 -
泛型方法的了解
a.不仅类可以声明泛型,方法也可以声明为泛型方法(更加的灵活)格式:访问修饰符 <泛型列表> 返回类型 方法名(参数名){ } class Animal{ public <T> void eat(T b){ System.out.println(b); }}public class Demo4 { public static void main(String[] args) { Animal animal = new Animal(); anim...原创 2021-07-14 09:02:40 · 72 阅读 · 0 评论 -
泛型通配的方式
同一泛型类如果实例化时类型不同,则实例的类型不兼容,无法相互赋值。我们可以使用泛型通配符(?)声明泛型类变量泛型通配方式:a."?"代表任何一种类型Dog<Integer> f2 = new Dog<Integer>();Dog<?> f3 = f2;b.和限制泛型上限相似,使用extends关键字限定通配符上限Generics3<Dog> f3 = new Generics3<Dog>(new Dog());Gen原创 2021-07-14 09:03:02 · 146 阅读 · 0 评论 -
限制泛型可用类型
① 在定义泛型类型时,默认在实例化泛型类的时候可以使用任何类型,但是如果想要限制使用泛型类型时,只能用某个特定类型或者是其子类型才能实例化该类型时,可以在定义类型时,使用extends关键字指定这个类型必须是继承某个类,或者实现某个类;② 当没有指定泛型继承的类型或接口时,默认使用extends Object,所以默认情况下任何类型都可以作为参数传入;...原创 2021-07-14 09:03:13 · 183 阅读 · 0 评论 -
java高级之泛型引入
如果我们需要产生多个对象,但每个对象逻辑完全一样,只是成员变量的类型不同而已,那么应该如何呢?解决1:创建多个类文件,每个类中的成员变量赋予指定的数据类型缺点:导致类的膨胀,重用性太差解决2:创建一个类文件,给成员变量设置成Object数据类型(所有的数据类型继承于Objcet)缺点:编译通过,但运行时可能出现异常解决3:引入泛型泛型原理:“类型的参数化”,提高代码的重用性和扩展性class Generics<T>{ T a; public Generics原创 2021-07-14 09:03:40 · 172 阅读 · 0 评论 -
异常抛出及自定义异常
throw和throwsthrow用于手动抛出异常。可以在任意位置抛出thows用于方法上标识要暴露的异常。抛出的异常交由调用者处理二者区别:throw用在方法内,后面跟上要抛出的异常类对象throws修饰在方法上,告诉调用者此方法可能会抛出异常,后面跟上抛出异常的类名class Person{ int age; public Person(int age){ this.age = age; } void check() throws IllegalArgumentExc原创 2021-07-14 09:03:51 · 131 阅读 · 0 评论 -
多态例子——打印机
class School{ public DaYin dayinji; public void anZhaung(DaYin dayinji){ this.dayinji = dayinji; } public void print(String contex){ dayinji.print(contex); }}class DaYin{ public String PinPai; public void print(String contex){ }}cla.原创 2021-07-14 09:04:13 · 492 阅读 · 0 评论 -
多态的上下转型
向上转型:子类转型成父类。即从一个专用类型向通用类型转换,往往是安全的。向下转型:父类向子类转,不安全。需要instanceof判断(返回值布尔类型)instanceof用法:result=objectinstanceof class说明:如果objcet是class或class子类的一个实例,返回true。否则返回falsefalse例子:class Animal{ public void eat(){ }; }class Dog extends Animal{.原创 2021-07-14 09:04:24 · 92 阅读 · 0 评论 -
多态的概念
多态性指的是同一操作(行为)用于某一类的对象,有不同的解释,产生不同的结果多态存在的三个条件:a.存在继承或实现的关系b.同样的方法调用执行不同的操作c.在运行时父类或接口的引用变量可以引用其子类的对象多态作用:a.将接口和实现分离b.消除了类型之间的耦合关系c.提高了程序的拓展性和可维护性class Animal{ public void eat(){ }; }class dog extends Animal{ public void eat()原创 2021-07-14 09:04:36 · 1488 阅读 · 0 评论 -
java匿名内部类
为什么用到匿名内部类?匿名内部类可以使你的代码更加简洁,你可以在定义一个类的同时对其进行实例化。它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要用一次,那么你就可以使用匿名内部类匿名内部类的特点:a.匿名内部类没有名称,没有办法引用他们;必须在创建时,作为new语句的一部分来声明并创建他们的实例b.匿名内部类必须继承一个抽象类或实现一个接口 abstract class Hello{ abstract void prininfo(); }原创 2021-07-15 16:10:24 · 82 阅读 · 0 评论 -
java成员内部类
1.内部类(类中类)主要特点:a.内部类可以很好的隐藏,可以用private,protected修饰b.内部类可以直接访问外部类所有成员,包括私有的成员c.而外部类不能直接访问内部类,必须先建立内部类对象2.成员内部类及应用a.成员内部类属于外部类实例成员,成员内部类可以用public,default,protected,private修饰。在内部类中访问外部类格式:“外部类名.this.成员方法” “外部类名.this.成员属性”b.创建成员内部类实例使用:“外部类名.内部类名...原创 2021-07-15 16:10:39 · 81 阅读 · 0 评论 -
接口和抽象类的区别
a.抽象类和具体实现类是一个继承的关系。父类和子类在概念伤势相同的is-a的关系b.接口和实现类仅仅是有共同的行为或特征,而类之间没有层次关系c.抽象类是对一组具有相同属性和行为的逻辑上有关系的事务的一种抽象 而接口是对一组具有相同属性和行为的逻辑上不相关的事务的一种抽象...原创 2021-07-15 16:10:54 · 70 阅读 · 0 评论 -
java接口
语法:public interface Demo3 { //抽象方法}接口的特点:a.接口中只能存放抽象方法和静态常量b.java接口是对功能的拓展c.通过实现接口,java类可以实现多实现d.一个类可以同时继承(extends)父类并且实现(implements)多个接口e.接口与接口之间可以继承(extends)...原创 2021-07-15 16:11:06 · 71 阅读 · 0 评论 -
java抽象方法和抽象类
抽象类:java中可以定义没有方法体的方法成为抽象方法,由子类具体实现。含有抽象方法的类是抽象类。抽象方法的特点:a.只有方法头没有方法体b.用abstract修饰c.抽象方法代表不确定的行为d.不能被调用抽象类的特点:a.含有抽象方法的类b.抽象类中可以有具体方法,不一定有抽象方法c.代表一种抽象的对象类型d.抽象类不能被实例化e.用abstract修饰abstract class Person{ abstract void eat(); ab原创 2021-07-15 16:11:20 · 100 阅读 · 0 评论 -
java继承概念及用法
1.继承的概念继承背后的思想就是基于已存在的类构建新的类当继承类后,就可以重用它的方法和属性,也可以添加新的方法和属性来满足需求在Java中,除Object类外,所有类都是子类2.继承的意义代码重用(最重要) 体现不同抽象层次3.父子类关系父类抽象,子类具体...原创 2021-07-15 16:12:22 · 716 阅读 · 0 评论 -
java封装之包
打包的意义:①标准java库是由一系列包组成的,包括java.util java.net等②标准java包是层次型包结构③java包是为了更好的规划代码,为了防止包名冲突,出现了打包机制怎样使用其他包中的公开类:①将完整路径写出:java.util.Date date = new java.util.Date();②import导入包(常用)import java.util.Date;Date date = new Date();...原创 2021-07-15 16:12:37 · 110 阅读 · 0 评论 -
java封装之static关键字
1.用来修饰类的成员——被修饰的成员变量成为类变量(静态变量);2.修饰成员方法成为类方法(静态方法)3.当类被加载时就会被加载,优先于对象4.用来修饰语句块——静态代码块。先于构造方法执行,但只执行一次,用来对静态成员做初始化5.调用的时候可以直接通过类名.对象访问静态变量和方法:静态代码块:先于构造方法执行,但只执行一次static关键字注意事项:①静态方法中只能访问外部的静态成员②静态方法中不能出this关键字...原创 2021-07-16 11:33:53 · 118 阅读 · 0 评论 -
java封装之this关键字
this关键字的特点:①调用此方法的对象的引用②this可以看成一个变量,它的值是当前对象的引用③使用this处理方法中形参和成员变量同名的问题④当方法内调用到该方法的对象时,可以用this⑤在类的构造方法中 可以调用 this[参数列表]来调用该类的指定构造方法...原创 2021-07-16 11:34:09 · 101 阅读 · 0 评论 -
java封装之构造方法
类的构造方法的概念和作用构造方法负责对象初始化工作,为对象的属性赋合适的初始值语法规则:构造方法名和类名一样(但参数可以变化)没有返回类型构造方法调用:实例化对象时,自动被调用。...原创 2021-07-16 11:34:28 · 113 阅读 · 0 评论 -
java封装之访问修饰符
public 所有的类均可访问private 只有该类可以访问protected 该类及其子类的成员可以访问,同一个包中的类也可访问默认 同一个包中的类可以访问无法访问private类型的sex...原创 2021-07-16 11:34:45 · 86 阅读 · 0 评论 -
java封装类及类的使用
封装的概念:将数据和方法包装到类中,加上具体的隐藏(访问修饰符),共同成为封装。其结果是一个带有特征和行为的数据类型。封装类:定义类,定义其属性和方法的过程。原创 2021-07-16 11:35:01 · 115 阅读 · 0 评论 -
java中Scanner类
Scanner类类似于c语言中的结构体,作用:输入相当于scanf声明一个变量s并实例化在通过s调用Scanner类中的方法原创 2021-07-16 11:35:21 · 134 阅读 · 0 评论