一般类,抽象类,接口的使用场景:
类;共同的特征和行为的抽取和封装
接口:标准,规范(功能的扩展)
        需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口
 
内部类:
 
1.成员内部类:
该类与外部类的属性和方法平级
Outer outer =new Outer();
outer.show();
//创建内部类的实例
Outer.Inner inner=outer.new Inner();
//实例.new方法
inner.showInner();
创建成员内部类的对象:
外部类类名.内部类类名 对象名= 外部类对象.new 内部类对象; 
 外部类.this:表示访问与内部类同名的外部类属性
 
2.局部内部类;
作用域:所在的方法体
局部变量不能用可见性修饰符修饰(类体里面可以)
局部变量是常量,用final修饰
 
3.静态内部类:
该类与外部类的静态属性和静态方法平级
访问权限修饰符 static class 内部类名{}
 
4:匿名内部类:
应用场景:Button按钮的事件监听
定义在外部类中,没有名字且只会被使用一次的内部类
访问权限修饰符 class 外部类{
属性和方法
写法一: 属性//接口
访问权限修饰符 接口类型 属性名 =new 接口类型(){
//类体
};
 
方法二: 方法体中
访问权限修饰符 返回值类型 方法名(形参){
 //局部变量可以使用匿名内部类
new 接口类型(){
 //类体
}.接口中的方法();
//或者是:
接口类型 局部变量=new 接口类型(){
//类体
};
}
}
 
写法一:new了一个实现类的实例,创建接口的引用对象
Inter a=new Inter(){public void show(){}};//接口不能单独new,所以new一个实现类的实例
 
写法二:
外部类:public void display(){new Intera(){public void show(){} };
intera2.show(); //调用类体里面的方法
外部类的实例调用这个方法
}
 
写法三:intera2.show();.show() //实例点方法
 
匿名内部类除了接口外,还能用抽象类,普通类;来写
匿名内部类继承了抽象类,该匿名类体中可以不重写
普通类:new的是普通类匿名的子类的实例
private Common c=new Common(){public void show(){} };
//匿名内部咧可以书写特有的方法,但是永远不会调用
 
 
匿名内部类的特点:
1.只使用一次,定义在外部类的属性部分或者方法体部分
2.可实现java语言的多继承(类都是单继承;内部类实现多继承,外部类可以继承一个类,内部类也可以继承,变象用内部类实现"多继承";)
3.从语法角度,类可以书写任意层数的类,没有限制(一般不超过两层)
4.内部可以写接口
 
除了匿名内部类之外,其余的内部类,怎么判断源文件生成的多少字节码文件: 根据class的个数
 

java类,接口浅谈的更多相关文章

  1. Java基础之浅谈接口

    前言 前几篇文章我们已经把Java的封装.继承.多态学习完了,现在我们开始比较便于我们实际操作的学习,虽然它也是Java基础部分,但是其实入门容易,精通很难. 我认真的给大家整理了一下这些必须学会.了 ...

  2. java反射机制浅谈

    一.Java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动, ...

  3. Java spi机制浅谈

    最近看到公司的一些框架和之前看到的开源的一些框架的一些服务发现和接入都采用了java的spi机制. 所以简单的总结下java spi机制的思想. 我们系统里抽象的各个模块,往往有很多不同的实现方案,比 ...

  4. 【Java基础】浅谈常见设计模式

    Num1:单例模式 基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 常见写法: 懒汉式 public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值 ...

  5. Java类/接口的API

    本章节收集的类/接口API有: Object类,枚举,包装类,接口Comparable,类Arrays,异常, Object类 public String toString(): [把一个对象的信息用 ...

  6. Java学习笔记(8)---Scanner类,浅谈继承

    1.Scanner类: a.定义: java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. Scanner s = new Scanner(S ...

  7. php中普通类 接口类 抽象类 浅谈

    一.普通类 1.关键词:class  类名,继承关键字extends 2.继承:只能实现单继承, 3.多态:子类继承可以实现多种功能 4.封装:类有权限机制,私有的只能自己用,受保护的可以被继承,子类 ...

  8. Java基础:浅谈数据输入流/数据输出流《DataInputstream类与DataOutputstream类》

     一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个 ...

  9. java基础(十七)----- 浅谈Java中的深拷贝和浅拷贝 —— 面试必问

    假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...

随机推荐

  1. 搭建 Windows Server 2003 + IIS6.0 + FastCGI + PHP5.3.29 + MySQL5.5.38 + Memcached1.2.6

    一.下载相关软件: 1.VC9运行库 即VISUAL C++ 2008 自PHP5.3.0开始,PHP提供VC2008编译版,需要安装VC++ 2008的运行库. [微软官方下载] http://ww ...

  2. PHP 5.4 已废弃 magic_quotes_gpc,PHP安全转义函数详解(addslashes 、htmlspecialchars、htmlentities、mysql_real_escape_string、strip_tags)

    1. addslashes() addslashes()对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果D ...

  3. 交叉编译中的build、host和target

    build.host和target    在交叉编译中比较常见的一些参数就是build.host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译 ...

  4. MySQL学习笔记(1/2)

    数据库的学习要求:1.为项目设计表:2.使用SQL(Structure Query Language)语句(SQL编程).其他的都可以使用工具完成. SQL: DDL:创建库.创建表 DML:对数据的 ...

  5. js遮罩效果

    function ShowLoadingMaskLayer(text) { var htmlContent = '<div id=\"masklayer\">' + ' ...

  6. 【python】类(资料+疑惑)

    1.http://python-china.org/t/77 有关method binding的理解 2.[Python] dir() 与 __dict__,__slots__ 的区别 3.Descr ...

  7. monkey工具使用中遇到的问题之一:手机模拟器中的部分应用出现网络无法连接

    问题描述: 手机模拟器中的部分应用出现网络无法连接,但是比如:浏览器即可以正常访问网页 解决方法如下: 1.以管理员身份进入到cmd中,以WIN10为例 ,在电脑左下角点击鼠标右键就可以看到 注意: ...

  8. java 项目中几种O实体类的概念

    经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应 ...

  9. node.js grunt文件压缩

    对于前段来说,熟悉node的人其实还并不是太多,如果您想入门一门后端语言我建议还是从node入手最好. 我也是最近开始学习node,来谈谈近期对node的学习的心得. 提到node首先就是要安装一大堆 ...

  10. MongoDB replication set副本集(主从复制)(8)(转)

    转载地址:http://www.cnblogs.com/huangxincheng/p/4870557.html replicattion set 就是多台服务器维护相同的数据副本,提高服务器的可用性 ...