JAVA基础补漏--抽象类
抽象类使用的四点注意事项:
1.抽象类不能创建对象。
2.抽象类可以没有抽象方法,但有抽象方法一定得是抽象类。
3.抽象类可以有构造方法,是供子象创建对象时,初始化父类成员使用的。
4.抽象类的子类,必须要重写父类的所有抽象方法,否则报错。
Interface java8 特性
增加default方法
使用方法:
···
public interface myInterface(
public void abstract fun1();
public void default fun2()
{
System.out.println();
}
)
···
fun1()必须在实现类中重写。
fun2()不是必须在实现类中重写,所有实现类直接继承即可。
增加static方法
public interface myInterface()
{
public static fun3()
{
System.out.println();
}
}
fun3()不用再写实现类,直接调用即可。
即:myInterface.fun3();
Interface java9 特性
普通私有方法
private void fun4()
{
System.out.println();
}
用来解决普通default方法中的重复代码
静态私有方法
private void fun5()
{
System.out.println();
}
用来解决普通static方法函数中的重复代码
接口中的成员变量其实为常量
public static final int NUM = 9;
一个类实现多个接口时会出现的问题
public interface A{
public default void fun()
{
sout();
}
}
public interface B{
public default void fun()
{
sout();
}
}
public class implements A,B{
public void fun()
{
sout();
}
}
实现类必须要重写默认方法fun(),以避免两个的冲突。
一个类即继承又实现接口时的优先级
public class fu{
public void fun()
{
sout();
}
}
public interface myInterface {
public default void fun()
{
sout();
}
}
public class zi extends fu implement myInterface{
}
这时如果类fu与类myInterface中存在的default函数同名,则优先fu,不用非得重写同名函数
利用多态性。可以这样定义。
Interface obj = new InterfaceImpl();
JAVA基础补漏--抽象类的更多相关文章
- Java基础九--抽象类
Java基础九--抽象类 一.抽象类介绍 /*抽象类:抽象:笼统,模糊,看不懂!不具体. 特点:1,方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰. 抽象方法必须定义在抽象类中 ...
- Java基础之抽象类与接口
Java基础之抽象类与接口 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候 ...
- java基础(四)-----抽象类与接口
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们 ...
- 程序猿的日常——Java基础之抽象类与接口、枚举、泛型
再次回顾这些基础内容,发现自己理解的又多了一点.对于一些之前很模糊的概念,渐渐的清晰起来. 抽象类与接口 抽象类通常是描述一些对象的通用方法和属性,并且默认实现一些功能,它不能被实例化.接口仅仅是描述 ...
- 【Java基础】抽象类和抽象方法的总结
什么是抽象类 抽象类是相同概念实体的一种抽象,Java中用关键字abstract来定义抽象类和抽象方法. 什么是抽象方法 只有方法的声明,没有方法的具体实现的方法. 抽象类和抽象方法的特点 抽象类和抽 ...
- java基础之抽象类与接口的区别
在学习java的过程中,或者是在找工作笔试或面试的时候,如果你是java岗位,那么抽象类与接口的区别无疑是一个大热点,是各大公司都想要考的一个小知识点,下面是我为了9月份秋招自己总结的,若有不对的地方 ...
- java基础之抽象类与接口的形式参数和返回值
抽象类与接口形式参数和返回值问题 1.形参问题 /* 1.形式参数: 基本类型(太简单,不是我今天要讲解的) 引用类型 (1)类名:(匿名对象的时候其实我们已经讲过了) 需要的是该类的对象 (2)抽象 ...
- Java基础之抽象类
/* 1.抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的. 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类. 抽象类的特点: A ...
- Java基础(basis)-----抽象类和接口详解
1.抽象类 1.1 abstract修饰类:抽象类 不可被实例化 抽象类有构造器 (凡是类都有构造器) 抽象方法所在的类,一定是抽象类 抽象类中可以没有抽象方法 1.2 abstract修饰方法:抽象 ...
随机推荐
- 机器学习框架MXnet安装步骤
安装环境:redhat7.1+vmw 安装步骤: # Install git if not already installed. sudo yum -y install git-all# Clone ...
- elasticsearch.net search入门使用指南中文版
原文:http://edu.dmeiyang.com/book/nestusing.html elasticsearch.net为什么会有两个客户端? Elasticsearch.Net是一个非常底层 ...
- mysql replace 使用注意,update的时候 删除从表数据
使用REPLACE插入一条记录时,如果不重复,REPLACE就和INSERT的功能一样,如果有重复记录,REPLACE就使用新记录的值来替换原来的记录值. 使用REPLACE的最大好处就是可以将DEL ...
- <2014 05 09> 程序员:从C++转到Java需注意的地方
最近想玩玩Android的APP开发,从C++角度来学习Java.Java可以说是一个优化精简版的C++,去除了底层C的很多特性.找了这篇文章. --------------------------- ...
- Visualizing wave interference using FireMonkey(很美)
Visualizing wave interference using FireMonkey By: Anders Ohlsson Abstract: This article discusses ...
- SQL Server 2005 临时表
with t as ( select * from t_pub_param ) select * from t SQL Server 2005 之后才可以使用,查询后临时表t会自动删除.
- ViewPager学习及使用(一)
一:基础篇 1.ViewPager的简介和作用ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view1)ViewPager类直接继承了ViewGroup类,所有它 ...
- excel数据生成sql insert语句
excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age . 在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: ...
- Nordic Blue Tooth
一 . nordic BLE4.0 1.开发nordic的应用需要安装支持keil的pack库和插件 2.nordic的SDK很完整,实例涵盖了几乎所有的应用 https://www.nordicse ...
- smtplib与email模块(实现邮件的发送)
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...