抽象方法的定义语法:
访问修饰符 abstract <返回类型> <方法名>(参数列表);
 
在语法中:abstract关键字表示该方法被定义为抽象方法
 
抽象方法和普通方法的区别:
1、抽象方法小修饰符abstract,普通方法不需要
2、普通方法有方法体,抽象方法没有方法体
**********************************************************
抽象类的定义语法:
abstract class <类名>{ }
 
在语法中:abstract关键字表示该类被定义为抽象类
 
抽象类和普通类的区别:
1、抽象类需要修饰符abstract,普通类不需要
2、普通类可以实例化,抽象类不能实例化
**********************************************************
定义一个抽象类:
public abstract class 类名称{
修饰符 abstract 返回类型 方法名();
修饰符 返回类型 方法名(){方法体}
}
 
抽象方法只能定义在抽象类中。但是抽象类中可以包含抽象方法,也可以包含普通方法,还可以包含普通类包含的一切成员。
**********************************************************
接口的定义语法:
public interface 接口名{
//接口成员
}
 
在语法中:
1、和抽象类不同,定义接口使用interface修饰符,访问修饰符只能是public,且可选。
2、接口成员可以是全局常量和公共的抽象方法。
与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。
 
实现接口的语法:
public 类名 implements 接口名{
实现方法
普通方法
}
 
在语法中:
1、实现接口使用implements关键字
2、实现接口的类必须实现接口中定义的所有抽象方法。接口的实现类允许包含普通方法。
 
例:定义和实现USB接口,进行数据传输。关键代码:
 
public interface UsbInterface{
void service();
public class UDisk implements UsbInterface{
public void service(){
system.out.println("连接USB口,开始传输数据");
}
}
}
 
 
例:定义USB风扇类,实现USB接口,获得电流,让风扇转动。关键代码:
 
public class UsbFan impements UsbInterface{
public void service(){
system.out.println("连接USB口,获得电流,风扇开始转动。")
}
}
 
 
例:编写测试类,实现U盘传输数据,实现USB风扇转动。关键代码:
public class Test{
public static void main(string[] args){
//1、U盘
UsbInterface uDisk = new UDisk();
uDisk.service();
//2、USB风扇
UsbInterface usbFan = new UsbFan();
usbFan.service();
}
}
**********************************************************
接口继承的语法:
修饰符 interface 接口名 extends 父接口1,父接口2,……{
常量定义
方法定义
}
 
一个普通类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接口
 
实现多个接口的语法:
class 类名 extends 父类名 implements 接口1,接口2,……{
类的成员
}
 
**********************************************************
定义和实现接口,需要注意的内容:
1、接口和类、抽象类是一个层次的概念,命名规则相同。
2、修饰符如果是public,该接口在整个项目中可见。如果省略修饰符,该接口只在当前包可见。
3、接口中可以定义常量,不能定义变量。接口中的属性都默认用“public static final”修饰,即接口中的属性都是全局静态常量。接口中的常量必须在定义时指定初始值。
4、接口中的所有方法都是抽象方法,接口中的方法都默认为public。
5、和抽象类一样,接口同样不能实例化,接口中不能有构造方法。
6、类只能继承一个父类,但可以通过implements实现多个接口。一个类必须实现接口的全部方法,否则必须定义为抽象类。一个类在继承父类的同时又实现了多个接口时,extends必须位于implements之前
 

java基础知识总结(2)的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  5. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  6. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  7. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  8. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  9. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  10. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. iOS创建安全的单例

    创建安全的单例 #import "Singleton.h" @implementation Singleton static Singleton* _instance = nil; ...

  2. .net使用cefsharp开源库开发chrome浏览器(二)

    离上篇写介绍pc端的混合开发和为什么以cefsharp入手研究混合开发已经有好几天,一直忙,抽不出时间继续写怎么搭建cefsharp开发环境.其实没有时间是借口,一切都是懒,没有爱到深处. 今天继续写 ...

  3. ASP.NET MVC Routing学习笔记(一)

    Routing在ASP.NET MVC中是非常核心的技术,属于ASP.NET MVC几大核心技术之一,在使用Routing之前,得先引入System.Web.Routing,但其实不用这么麻烦,因为在 ...

  4. Atitti 大话存储读后感 attilax总结

    Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...

  5. c++头文件 #include<iostream>

    cout<<"C1="<<setiosflags(ios::fixed)<<setprecision(2)<<3.14*r*2< ...

  6. bootstrap走动的进度条

    1.页面效果: 起始位置:

  7. 我被比特币撞了一下腰——记OKCoin试用体验

    本博客还有大量的.NET开源技术文章,您可能感兴趣: 1.开源Math.NET基础数学类库使用系列文章:链接 2.开源C#彩票数据资料库系列文章:链接 3.开源的.NET平台ORM组件文章:链接 4. ...

  8. IOS数据存储之NSUserDefaults

    前言: 作为从事Android开发人来说一定听说过SharedPreferences,然后要成为一名ios开发工程师来说咋能不知道NSUserDefaults!接下来让我们认识一下. NSUserDe ...

  9. T-SQL:毕业生出门需知系列(二)

    第2课 检索数据 2.1 SELECT 语句 用途:从一个或多个表中检索数据信息 关键字:作为SQL组成部分的保留字.关键字不能用作表或列的名字. 为了使用SELECT检索表数据,必须至少给出两条信息 ...

  10. php使用递归创建多级目录

    <?php header('Content-type:text/html;charset=utf8'); echo "Loading time:".date('Y-m-d H ...