一般类,抽象类,接口的使用场景:
类;共同的特征和行为的抽取和封装
接口:标准,规范(功能的扩展)
        需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口
 
内部类:
 
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. PHP变量作用域详解(二)

    学过C的人用PHP的时候一般会相当顺手,而且感到PHP太方便太轻松.但在变量作用域这方面却与C有不同的地方,搞不好会相当郁闷,就找不到错误所在.昨晚就与到这么一个问题,是全局变量在函数中的问题.今天搜 ...

  2. Linux Socket编程

    “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...

  3. IE 8 下的 box-sizing 和 min-* 属性

    在非 IE 浏览器中,默认情况下 width 属性指的是内容区域(content)的宽度. IE 6+ 中,如果浏览器以标准模型渲染,和非 IE 浏览器的表现是一致的:如果浏览器以怪癖模式渲染,则 w ...

  4. iOS抓包利器Charles

    iOS抓包利器Charles http://wonderffee.github.io/blog/2013/07/13/best-packet-capture-tool-charles-in-ios/ ...

  5. Shodan新手入坑指南

    *本文原创作者:xiaix,本文属FreeBuf原创奖励计划,未经许可禁止转载 亲们~黑五 Shodan Membership 只要5刀,你剁手了没? 什么是 Shodan? 首先,Shodan 是一 ...

  6. oracle查询某一个字段的数量总和

    select count(*) from (select count(*) from 表名称 group by 多种数据量 ) 表名; 举个栗子: 比如说我有一个数据类型的字段, 里面有很多种的数据类 ...

  7. linux c 笔记-2 Hello World & main函数

    按照惯例撸一个hello_world.c #include <stdio.h> int main(int argc, char * argv[]) { printf("hello ...

  8. [转]Struts2工作原理

    Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Co ...

  9. 微信分享ios设备没有分享图标安卓有分享图标 (分享功能没有问题)

    解决方案:去除 var sharedata = { title: $("#shareTitle").val(), desc: $("#shareContent" ...

  10. c#中取整,向上取,向下取

    Math.Ceiling()向上取整, Math.Floor()向下取整 示例: d = 4.56789 Math.Ceiling(Convert.ToDecimal(d)).ToString();M ...