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

JavaSE学习总结(九)抽象类与接口

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

JavaSE学习总结(九)抽象类与接口

一、抽象类
    什么是抽象类
    包含抽象方法的类就是抽象类。用abstract修饰。也可以有普通方法和属性,甚至构造方法。什么是抽象方法
    没有实际工作的方法就可以被设计为一个抽象方法,不用写出具体的函数体。也用abstract修饰。
//抽象类
public abstract class Person{
//抽象方法
	abstract public void talk();
	abstract  void eat();
	public double getMoney(){
		return money;
	}
}

    为什么要有抽象类
    相当于多了一重编译器的校验。

    关于抽象类的特点

(1)抽象类不能实例化对象

Person p = new Person();//这是要出错的!!

(2)抽象方法不能是private、final、static的
因为,抽象方法要被子类重写

public abstract class Person{
//抽象方法
	abstract private void talk();//要出错!!
}

(3)抽象类必须被继承,并且子类要重写父类方法,否则子类也是抽象类,要用abstract修饰
(4)抽象类里不一定有抽象方法,但是有抽象方法的类一定是抽象类。

二、接口
    什么是接口
    相当于是多个类的公共规范,是一种引用数据类型。用interface定义
public interface Ieated{
	public abstract void method();//public abstract固定搭配,可不写。
	public void method2();
	abstract void method3();
	void method4();
}

接口一般命名以大I开头。

    如何使用接口
    接口不能直接使用,必须要有一个“实现类”来实现接口,实现接口中的抽象方法。
public class 类名 implements 接口名{
	//重写接口里的方法
}
    接口的特点
    (1)接口是引用类型,但是不能直接New接口的对象,即不能被实例化;
    (2)接口里的每一个方法都是public abstract的。用其它修饰符会报错;
    (3)接口里的方法是不能在接口中实现的,得是由实现接口的类里实现;
    (4)被重写的方法不能用default修饰;
    (5)接口里的变量都是public static final的;
    (6)接口里不能有静态代码块和构造方法;
    (7)接口虽然不是类,但是编译之后后缀也是.class实现多个接口(ctrl+i=快速实现接口的方法)
    类是单继承,但是一个类可以实现多个接口
    注意:一个类实现多个接口时,每个接口中的抽象方法都要实现啊,否则类必须被设置成抽象类;接口的继承
    使用extend,相当于把多个接口合并在一起。抽象类与接口的区别

核心区别:抽象类中可以包含普通方法和普通字段,这样的普通方法和字段是不需要被重写的,子类直接就用了。接口中是不允许包含普通方法和类的,子类必须重写接口里所有的抽象方法。

三、Object类

它是Java里默认提供的一个类,所有的类都默认继承Object类。所以说,所有类的对象都可以使用Object类的引用来接收。

    Object类里的方法:
    (1)toString ()
    用来打印对象内容,可以直接重写。
    (2)equals()
    用来比较是否相等。
    基本类型的比较:比较的是值的大小是否相同;
    引用类型的比较:比较的是变量地址是否相同;
    对象的比较:重写equals(),并默认按照地址比较。
    (3)hashcode()
    用来确定对象在内存中存储的位置是否相同。

    接收引用类型的数据类型
    Object类可以接收任意对象,也就是说还可以接收:类、数组、接口。。。

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

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

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