黑马程序员技术交流社区

标题: 关于抽象跟接口的一些笔记吧,希望高人能指点下我 [打印本页]

作者: 爱java爱生活    时间: 2015-6-3 21:39
标题: 关于抽象跟接口的一些笔记吧,希望高人能指点下我
抽象类也是类只是含有抽象的方法(但是抽象类不一定含有抽象方法,有抽象方法的类一定要被abstract修饰);
继承抽象类,重写抽象类中的方法,来实现自己的功能;
接口是全部成员全部是抽象的特殊类;(接口也是类)
用implements来实现接口;用重写(覆盖)来实现接口中的抽象方法;interfac A
但是一个抽象类实现接口的时候不用实现接口中的全部抽象方法;


接口的特点:
1接口不能实例对象(即不能使用new关键字),因为接口中的方法都是抽象的没有方法体;
2接口中的成员方法都是抽象的默认为public abstract;接口中的成变量都是全局变量:默认修饰符为public
static final
3当一个类不是抽象类的时候,实现接口的时候,必须得实现接口中的全部抽象方法(也就是重写接口中的全部方法。);
4但是一个抽象类实现接口的时候不用实现接口中的全部抽象方法;
5 一个类通过implements实现接口的时候可以实现多个接口,之间用逗号隔开;如: abstract class A implements B,C
一个接口可以extends多个接口如;interface A extends B,C(又涉及到继承体系的问题了)
当一个类extends其他的类的时候,也可以实现接口
只有抽象才需要重写;一般类不要重写;
java中不直接支持多继承,但是java支持实现多个接口;
abstract class Employee
{
                private double pay;
                private String name;
                private String id;
                Employee(double pay,String name,String id)
                {
                        this.pay=pay;
                        this.name=name;
                        this.id=id;
                }
                abstract public void work() ;
               

}
class Program extends Employee
{
        public Program(double pay, String name, String id)
        {
                super(pay,name,id);
               
                // TODO 自动生成的构造函数存根
        }
        public void work()
        {
                System.out.println("code");
        }

}
class Manager extends Employee
{
                Manager(double pay,String name,String id)
                {
                        super(pay,name,id);
                }
                public void work()
                {
                        System.out.println("work 项目");
                }

}



作者: TOBESKY    时间: 2015-6-3 21:59
赞一个。。。。
作者: 爱java爱生活    时间: 2015-6-3 22:02
希望能有高人指点一下吧
作者: 熊乾坤    时间: 2015-6-3 22:04
比我总结的好多了。。。赞一个
作者: 城北一直晴。    时间: 2015-6-3 22:14
你总结的挺好,但是要记住的话还得要有自己的方法把它提炼出来,自己好记忆。
作者: 爱java爱生活    时间: 2015-6-3 22:28
嗯,我觉得我缺的就是你说的那个
作者: 爱java爱生活    时间: 2015-6-3 22:29
嗯,我觉得我缺的就是你说的那个
作者: LoveMyself    时间: 2015-6-3 22:50
慢慢来,会达到那样的
作者: 爱java爱生活    时间: 2015-6-3 23:54
嗯,我觉得你说的很有道理啊 ,从今天开始就要按你说的那种方法去改进。
作者: 卡布    时间: 2015-6-4 00:36
继续加油啊
作者: 爱java爱生活    时间: 2015-6-7 01:24
嗯谢谢指点,欧文已经在按你的说法来了,是真的记得跟牢了,有点时候跟毕老师当时说的记住了,但是不是记得劳。
作者: 遗失丨美好    时间: 2015-6-7 01:28
感觉你们基础不好好!作为小白虽然看不懂,还是支持下
作者: MissMr.    时间: 2015-6-7 01:30
同求,没什么头绪
作者: 君子无醉    时间: 2015-6-7 03:23
第一句话有语病吧。。和括号里说的矛盾,不过括号中是正确的。抽象类继承抽象类,不一定全部重写里面的抽象方法。还有,接口严格意义上不能算是类,只是一种特殊的抽象类。。总结的很好,多练下就能熟练掌握了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2