Java学习心得之抽象类和接口
2012-09-12 10:30
330 查看
为了让自己更好的理解,写了如下代码来总结:
1、接口定义,可以看出来接口中可以定义常量,也可以定义方法,但是接口中方法不能有方法体,必须是一个抽象的方法,仅仅是一个方法的声明
2、抽象类的定义:在抽象类中,方法可以被abstract修饰也可以不被修饰,但是不是抽象方法必须要有方法体,而且抽象类中也可以有main方法,其中可以看出来main方法也是可以被重载的,只要其中的形参不同
3、类的定义:这个类实现了上边的接口,继承了抽象类。
实现接口:可以看出来必须是重写所有的接口中定义的方法,可以这样来理解,接口中知识约定了一种规范,说明了一种功能,但是这种功能方法具体怎样来做,还是交给实现接口的类来做,这样也增加了程序的灵活性,同时也有了一定的约束
继承类:在继承的类中,父类中的方法可以不比全部重写,但是抽象方法必须重写,同时也可以在子类中实现父类的main方法。
1、接口定义,可以看出来接口中可以定义常量,也可以定义方法,但是接口中方法不能有方法体,必须是一个抽象的方法,仅仅是一个方法的声明
/** * 与InTest 一起测试接口与类 */ public interface InterTest { int a=10; public void sysout(); abstract public void sysin(); String sysout1(); }
2、抽象类的定义:在抽象类中,方法可以被abstract修饰也可以不被修饰,但是不是抽象方法必须要有方法体,而且抽象类中也可以有main方法,其中可以看出来main方法也是可以被重载的,只要其中的形参不同
/** * 与InTest 一起测试抽象类和普通类 */ public abstract class AbsClass { public void aa() { System.out.println("不是抽象方法必须要有方法体"); } abstract public void a(String str); public static void main(String[] args){ System.out.println("args[0]是输入的值"+args[0]+" "+args[1]); System.out.println("抽象类父类的main方法"); } public static void main(int a){ System.out.println("a的值是"+a); } }
3、类的定义:这个类实现了上边的接口,继承了抽象类。
实现接口:可以看出来必须是重写所有的接口中定义的方法,可以这样来理解,接口中知识约定了一种规范,说明了一种功能,但是这种功能方法具体怎样来做,还是交给实现接口的类来做,这样也增加了程序的灵活性,同时也有了一定的约束
继承类:在继承的类中,父类中的方法可以不比全部重写,但是抽象方法必须重写,同时也可以在子类中实现父类的main方法。
public class InTest extends AbsClass implements InterTest{ /** * 接口的方法必须被重写 */ public void sysout() { } public void sysin() { } public String sysout1() { return null; } /** * 抽象方法必须被重写 */ public void a(String a) { } /** *也可以重载父类的方法,不管是不是抽象的 */ public void a(){}; public static void main(String args[]){ System.out.println("子类的main方法"); String a[]={"ab","bb"}; //定义字符串数组 AbsClass.main(a); //实现了抽象类的main方法 AbsClass.main(4); } }
相关文章推荐
- java 抽象类和接口学习中的2个小心得
- 关于JAVA继承、多态、抽象类、接口等性质的学习(1)
- Java学习心得之接口
- java普通类、抽象类和接口的再学习
- Java学习总结(四)——面向对象(下)(接口,抽象类,内部类,String类等)
- Java学习(十二)抽象类与接口
- 1)Java学习笔记:接口和抽象类的异同
- java学习核心(4) 接口和抽象类
- 【Java学习笔记】接口 抽象类 抽象方法
- Java学习之抽象类和接口区别比较
- 学习笔记_毕向东 Java_继承_抽象类_接口_多态 2014.7.13
- java学习(6)-继承,多态,抽象类以及接口
- Java基础学习之——接口的作用和抽象类的区别
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 【JAVA学习】接口interface和抽象类abstract class的比较
- Java学习(九) 抽象类与接口
- Java学习日记之类和对象还要掌握:抽象类和接口
- java学习--抽象类与接口
- Java学习笔记-接口和抽象类
- Java学习之抽象类、接口和Lambda表达式