黑马程序员-------接口和抽象类

/**
* @author Administrator
*
* @description 接口测试类
* @history
*/
interface Interface{
public static final String INFO = "helloeclipse";
public void print(); // 定义方法
public abstract void printInfo();
}
class I implements Interface{
public void print() {
// 方法实现
System.out.println(INFO); // helloeclipse
}
public void printInfo() {
// ...
}
}
public class InterfaceTestDemo {
/***@description
*@param args
*/
public static void main(String[] args) {
// 接口interface
// 接口interface和抽象类abstract一样不能直接实例化必须通过子类来实现
new Interface(){
public void print() {
// 匿名内部类,方法实现
System.out.println(INFO); // helloeclipse
}
public void printInfo() {
// ...
}
};
// 接口和抽象类对比,接口更像一种规范、抽象类更像一种模板
// 抽象类定义一些公共的实现,以及一些未实现的方法交给子类具体实现特定的功能-模板方法
}
}
/**
* @author Administrator
*
* @description 抽象类学习测试类
* @history
*/
abstract class Abstract{ // 定义抽象类
public final static String INFO = "helloeclipse"; // 定义全局变量/常量
abstract public void print(); // 定义抽象方法
// 抽象类不能直接实例化,抽象类的子类如果不是抽象类那么一定要实现所有的抽象方法
}
class AbstractZiLei extends Abstract{ // 定义抽象子类
public void print() { // 实现子类方法
System.out.println(INFO);
}
}
public class AbstractTestDemo {
/**
*@description
*@param args
*/
public static void main(String[] args) {
// 接口和抽象类interface,abstract
// 抽象类:含有抽象方法的类叫做抽象类用abstract修饰的
new Abstract(){public void print() {
System.out.println(INFO); // 匿名抽象类实现
}
};
// 抽象类能不能被final修饰呢?final定义的类为终结类,抽象类是需要子类来实现的
// final abstract class Abstract{ //... } // 编译报错
}
}

时间: 2024-10-12 21:27:53

黑马程序员-------接口和抽象类的相关文章

黑马程序员-内部类、 抽象类、接口

java面向对象中比较重要的知识还有内部类,抽象类.接口,这些和封装.继承.多态一起赋予java强大的面向对象的能力 1.抽象类 在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类. 创建抽象类和抽象方法非常有用,因为他们可以使类的抽象性明确起来,并告诉用户和编译器打算怎样使用他们.抽象类还是有用的重构器,因为它们使我们可以很容易地将公共方法沿着

黑马程序员-java基础-抽象类和接口

1,抽象类中可以有构造方法,主要是当实例化子类时,进行初始化. 2,抽象类中可以没有任何抽象方法 意义在于不让外界创建对象. 3,抽象类和关键字的共存问题 private abstratc method();  // 要重写,但又不支持重写 final abstract method();   //final 是让子类不重写 static abstract method(); // 方法属于类,必须实现 1,抽象类可以实现接口 其中的方法可以实现,也可以不实现. 2.成员特点 成员变量(接口中很

黑马程序员----java基础---抽象类和接口,附相关面试题

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:抽象类(掌握) (1)把多个共性的东西提取到一个类中,这是继承的做法. 但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体. 也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样. 所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体. 而一个没有具体的方法体的方法是抽象的方法. 在一个类中如果有抽象方法,该类必须定义为抽象类. (2)抽象类的特点 A:

黑马程序员_Java基础_接口

------- android培训.java培训.期待与您交流! ---------- 0.接口知识体系 Java接口的知识体系如下图所示,掌握下图中的所有知识就可精通接口. 1.接口概论 1)接口概念 接口是从多个相似类中抽象出来的规范,接口中不包含普通方法,所有方法都是抽象方法,接口不提供实现.接口体现的是规范和实现分离的哲学.规范和实现分离正是接口的好处,让软件系统的各个组件之间面向接口耦合,是一种松耦合的设计.接口定义的是多个类共同的公共行为规范,定义的是一组公用方法. 2)接口与抽象类

黑马程序员_Java抽象类和内部类

- - - - - android培训.java培训.期待与您交流! - - - - - - 类(class) 类是相似对象中共同属性和方法的集合体 在面向对象中定义类,就是在描述事物,就是在定义属性(变量)和行为(方法).属性和行为共同成为类中的成员(成员变量和成员方法). 封装.继承和多态 面向对象方法中软件设计的主体是类,类是相同属性和方法的封装体,因此类具有封装性 子类可以在继承父类所有属性和方法的基础上,再增加自己特有的属性和方法,因此类具有继承性 在一个类层次中,定义为根类的对象可被

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

黑马程序员——java高新---注解、泛型等

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.注解 什么是注解? 答:对于过时的语句,java会提示过时了,通过@SuppressWarnings("Deprecation")可以在DOS命令行中取消提示,但Eclipse无法取消.这就是注解,相当于标记.编译器.开发工具.javac通过反射获得注解里的内容,进而明确应该做什么.不应该做什么.注解可以加在包.类.属性.方法.参数及局部变量之上.一个注解就是一个类. java.

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员_Java高新技术

1  JDK5的新特性 1.1 静态导入       在API中那些不需要new对象的类,可以在类文件的开头,import static java.lang.Math.*;这里把Math中的所有的静态方法都导入了,在类中不需要调用Math类就能直接用Math的方法了 package cn.wjd.staticimport; import static java.lang.Math.*; public class StaticImport { public static void main(Str