栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java进阶-day2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java进阶-day2

抽象类

抽象类也是一种引用数据类型。
抽象类无法实例化对象。
抽象类是类和类之间的共同特征。
抽象类和抽象类还会有共同特征,还可以进一步抽象。
修饰符列表 abstract class 类名{}
子类继承抽象类,子类可以实例化对象。
抽象类就是为了继承,所以不能出现final。
抽象类有构造方法,是供子类使用的。
抽象方法是没有实现的方法,没有方法体的方法:
public abstract void dosome();
一个非抽象的类继承一个抽象类,必须将抽象类中的抽象方法给“实现”了,也就是方法覆盖,并且将abstract去掉,加上方法体。
多态的运用。

接口

接口也是一种引用数据类型。
修饰符列表 interface 接口名{}
它是一个特殊的类,生成后也是.class字节码文件。
接口和接口可以继承,而且接口支持多继承:extends A,B,C…
接口中只包含:常量和抽象方法。
在接口中抽象方法public abstract可以省略掉。所有的都是公开的。
在接口中常量public static final可以省略掉。
可以访问接口常量:接口名.常量。
类和类之间是继承,类和接口之间是实现,类和类之间用extends,类和接口之间用implements
当一个非抽象类实现接口,必须将接口中的所有抽象方法实现(覆盖)
一个类可以实现多个接口,类似于多继承
接口和接口之间没有继承也可以强制类型转换:K K=(K)m;但是运行有问题,会出现classcastexception,还是用instanceof。
class Cat extends Animals implements Flyable{}
接口的作用类似于多态的作用。

凡是is a 的都可以设置为继承Cat is a Animal。是has a 的设置为属性,Customer has a menu。是Like a的设置为实现,Cooker like a menu。

接口就是将调用者和实现者连接到一起。

所有的项目都是一个模块一个模块通过接口来连接到一起

Scanner

java.util.Scanner a=new java.util.Scanner(System.in);
String str=s.next();
这是因为自己写的类和sun公司写的Scanner类不在同一个包下,所以Scanner类的类名要加上包名。也可以以后用import把Scanner的包加进来,以后就不用写他的包名了。
但是java.lang包下的类不需要导用。

Object

任何一个类都默认继承Object类。

Object中的toString()方法

这个方法的作用是将一个Java对象转换成字符串表示形式。
建议所有的子类都去重写这个方法。不然会输出一个@+十六进制。
输出引用的话,会自动调用这个toString()方法。
String类已经重写了toString方法,可以直接输出字符串。

Object中的equal()方法

在以后编程的过程中,一定要通过equals方法来判断两个对象是否相等。
因为两个引用数据类型保存的是对象的内存地址,而不是这个对象中具体的值,判断两个变量数据用“==”,判断对象就是equals方法。
equals方法默认的比较方法是用 “= =”来判断是否相等,所以要在子类方法中去重写这个方法来比较两个对象是否相等。
调用 boolean b=t1.eequals(t2);
重写方法要注意,equals中的形参是Object obj,不能改变,所以要进行向下
转型,Mytime t=(Mytime)obj;
String类以及重写equals方法了,所以可以直接用equals方法来判断来个字符串是否相等。
String s1=“abc”;也可以写成:
String s2=new String(“abc”); s1.equals(s2);

Object中的finalize()方法

这个方法是protected修饰的。
这个方法不需要程序员手动调用,JVM在垃圾回收器来调用。
这个是sun公司给程序员的一个时机,在垃圾销毁时想执行一段代码的话,这段代码要写在finalize()方法中去。
和静态代码块很相似。
不需要我们来调用,只需要我们重写就可以了。

Object中的hashCode()方法

实际上就是一个Java对象的内存地址,经过哈希算法,得出一个值。

内部类

就是一个类的内部又定义了一个类。
有static修饰是静态内部类。
没有static修饰的是实例内部类。
出现在方法体内是局部内部类。(方法结束后这个内部类就没了)。
匿名内部类,直接new接口,直接实现,不需要设置类的名字。
IDEA中纠正错误的快捷键:alt+回车

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270769.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号