华易动力天津网站制作公司 免费咨询热线:400-0022-823 电话:022-28261501 28335110
地址:天津市河西区围堤道146号华盛广场B座22楼
点击这里给我发消息  点击这里给我发消息  点击这里给我发消息
  首页 关于我们 建网站:从这里开始 域名空间服务 案例展示 新闻中心 网站制作知识 网站设计技巧 人才招聘 联系我们  
  网站制作知识
程序制作
数据库知识
域名空间知识
SEO网站优化
天津网站制作方案 更多..
如何获得了大量的好的外链资源
常见的长尾关键词组合方法
如何利用百度平台获取流量
营销优化型网站的简介
新顶级域名的形式
网站建设分为如下八步
网站专题设计
关于门户网站设计方案
华易动力售后服务规范
服务器机房介绍
优秀客户展示(排名无先后) 更多..
环化(天津)燃气设备安装有限公司
天津市国信投资担保有限公司
天津城市职业学院
天津大学EMBA
南开大学CID
北京同仁堂天津药店有限公司
金权道(天津)餐饮管理有限公司
天津市友好合作城市企业促进会
天津天大求实电力新技术股份有限公司
天津红旗农贸投资控股有限公司
天津二人锅餐饮管理有限公司
天津市滨湖剧院
渤海产业投资基金管理有限公司
天津天富软管工业有限公司
新闻中心-行业资讯 更多..
· 企业为什么要做APP   2016-11-24
· 如何搭配网站   2016-11-16
· css表单布局的五个小技巧   2016-11-16
· 服务器维护的重点   2016-11-14
· 如何建设你想要的网站类型   2016-11-14
· 阿里设计师用这2方法提升设计创新力   2016-11-3
· 我们看过的各种设计理论法则   2016-11-3
· Windows 8设计时的安全性   2013-12-27
· 未来网站技术的发展   2013-10-12
· 企业网站建设规划   2013-7-30
全部信息 当前位置:首页网站制作知识 → 详细内容
通俗理解Java接口,抽象类,内部类
更新时间:2012/8/8 点击:1076次
1.接口(interface),接口被用来建立类与类之间关联的标准。
Java codepublic interface ITest{
      public void test();
}
public class TestImpl implements ITest{
      public void test(){
             System.out.println("test");
      }
}
2.抽象类(abstract class),只要类中有一个抽象方法,此类就被标记为抽象类。实际上抽象类除了被继承之外没有任何意义。
区别
1.
接口是公开(public)的,里面不能有私有的方法或变量,是用于让别人使用的,实现接口的一定要实现接口里定义的所有方法。
而抽象类是可以有私有方法或私有变量的,实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。
2.
抽象类在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。
但是,一个类却可以实现多个interface(java中实现多重继承的方法之一)。
3.
抽象类中可以有自己的数据成员,也可以有非abstarct的成员方法。
而在接口中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),而且所有的成员方法都是抽象的。
4.
抽象类和接口所反映出的设计理念不同。
其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。(组合是"has a"关系)
5.
接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。不是很建议具体类直接实现接口的。还有一种设计模式是面向接口编程,而非面向实现编程。
其实接口是抽象类的延伸,可以将它看做是纯粹的抽象类,就是说接口比抽象类还抽象,还有设计接口的目的就是为了实现C++中的多重继承,不过java团队设计的一样更有趣的东西来实现这个功能,那就是内部类(inner class)。
内部类(inner class)
Java codepublic class OuterClass{//外部类
       private class InnerClass{}//内部类
}

一.定义
放在一个类的内部的类我们就叫内部类。
二.作用
1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protected权限的,但内部类可以
2.内部类拥有外围类的所有元素的访问权限
3.可是实现多重继承(这个特点非常重要,个人认为它是内部类存在的最大理由之一)
4.可以避免修改接口而实现同一个类中两种同名方法的调用
三.多重继承的实现
类一   
Java codepublic   class  Example1 {  
  
public  String getName()  {  
       return   "luffyke" ;  
   }  

  
类二   
Java codepublic   class  Example2 {  
      
       public   int  getAge()  
       {  
            return   25 ;  
       }  
}  

类三
 Java codepublic class MainExample {
    public class Test1 extends Example1 {
        public String getName() {
            return super.getName();
        }
    }
    public class Test2 extends Example2 {
        public int getAge() {
            return super.getAge();
        }
    }
    public String showName() {
        return new Test1().getName();
    }
    public int showAge() {
        return new Test2().getAge();
    }
    public static void main(String args[]) {
        MainExample example = new MainExample();
        System.out.println("姓名:" + example.showName());
        System.out.println("年龄:" + example.showAge());
    }
}   
大家注意看类三,里面分别实现了两个内部类 Test1,和Test2 ,Test1类又继承了Example1,Test2继承了Example2,这样我们的类三MainExample就拥有了Example1和 Example2的方法和属性,也就间接地实现了多继承。
 
  公司总机:022-28261501 28335110
客户服务邮箱:service@nfree.cn,手机直线:15822335163
CopyRight 2006~2024 All Rights Reserved 天津市华易动力信息科技有限公司
地址:天津市河西区围堤道146号华盛广场B座22楼 邮编:300202

津公网安备 12010302001042号


在线QQ(售前咨询)
点击这里给我发消息  点击这里给我发消息  点击这里给我发消息