Android开发之内部类篇
内部类:
1、内部类的第一个好处,隐藏你不想让别人知道的操作,也即封装性。
2、非静态内部类对象有着指向其外部类对象的引用 等等。
创建项目:
1、File---->New----->java Project
2、src右键添加 New---->Package(添加一个包,命名为“成员内部类”)
3、包右键添加New----->class/interface
注: 有main(String[] agre)函数的就是运行文件,如果要作为一般类使用,将注释及main(String[] agrs)函数删除。
4、运行:找到相对应的运行文件,右键 Run as ----->java Appliaction
一、成员内部类
因为上面已经建了一个"成员内部类"包,所以包右键添加New----->class(命名为on1)。
on1类:
public class on1 { class tm
{
public void show()
{
System.out.println("tt");
};
}
public void k()
{
tm t=new tm();
t.show();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new on1().k();
} }
效果图:
二、方法内部类
首先src右键添加 New---->Package(添加一个包,命名为方法内部类”),添加两个class分别命名为on1,on2.
on1类:
public class on1 { public void tm()
{
System.out .println("kkkkkkkkkkkk");
class t extends on2
{ }
new on2().k();
System.out.println("hhhhhhh");
}
public static void main(String[] args) {
new on1().tm();
} }
on2类:
public class on2 { public void k()
{
System.out.println("tttttttttt");
} }
效果图:
三、匿名内部类(Anonymous)
首先src右键添加 New---->Package(添加一个包,命名为匿名内部类”),添加两个class分别命名为on1,on2,添加一接口命名为Infot。
Infot接口:
public interface Infot { public void eve();
}
将on1类变成抽象类。
public abstract class on1 implements Infot{ public void day()
{
System.out.println("学习");
} }
on2类:
public class on2 { public static void main(String[] args) {
//on1 t=new on1();
//t.day();
//t.eve();
//on2 k=new on2();
//k.day();
//k.eve();
Ons t=new Ons()
{
public void eve(){System.out.println("kkkk");}
};
t.eve();
t.day();
} }
效果图:
特点:
成员内部类特点:
在一个外部类的内部且方法外定义的类我们称为外部类 ,该类特点是高度内聚,不对外开放。
方法内部类(局部内部类)特点:
在一个方法内部定义的类我们通常叫做方法内部类或者局部内部类 该类特点是短暂性的,不对外的。
匿名内部类特点:
要满足匿名内部类操作在实现该类操作时必须是一个抽象类或者是一个接口,这样才能使用内部类操作,在实现一个内部类操作时,
同时是重写未实现的方法,也是高内聚的特点。
Android开发之内部类篇的更多相关文章
- Android开发环境搭建篇详尽的教程实例汇
原文链接:http://android.eoe.cn/topic/android_sdk 一.android开发环境搭建图文教程整理篇: 1.Android开发环境搭建全程演示(jdk+eclip+a ...
- Android开发第1篇 - Android开发环境搭建
归结一下,需要进行Android开发所需要的工具或软件: Eclipse - Android是基于JAVA的开发,所以选用目前来说使用较高的Eclipse作为IDE. ADT (Android Dev ...
- 快速Android开发系列网络篇之Volley
Volley是Google推出的一个网络请求库,已经被放到了Android源码中,地址在这里,先看使用方法 RequestQueue mRequestQueue = Volley.newRequest ...
- 快速Android开发系列通信篇之EventBus
先吐槽一下博客园的MarkDown编辑器,推出的时候还很高兴博客园支持MarkDown了,试用了下发现支持不完善就没用了,这次这篇是在其他编辑器下写的,复制过来后发现..太烂了.怎么着作为一个技术博客 ...
- Android进程间通信之内部类作为事件监听器
在Android中,使用内部类能够在当前类里面发用改监听器类,由于监听器类是外部类的内部类.所以能够自由訪问外部类的全部界面组件. 下面是一个调用系统内部类实现短信发送的一个样例: SMS类: pac ...
- 快速Android开发系列网络篇之Retrofit
Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎 ...
- Android 开发之异常处理篇(一):SDK Manager 闪退的解决方法
这个问题困扰了我很久,之前没解决,就放一放.后来我又专门拿了一个下午来找解决方法,终于搞定! 我的解决方法是修改 android.bat,直接指定java.exe所在位置,不用去调用find_java ...
- 高速Android开发系列通信篇之EventBus
概述及基本概念 **EventBus**是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比方请求网络,等网络返回时通过Hand ...
- ubuntu下搭建android开发环境核心篇安装AndroidStudio、sdk、jdk
本文系转载http://blog.csdn.net/lsyz0021/article/details/52215996 一.安装前的准备 1.1.如果你还没有安装ubuntu 14.04 LTS系统, ...
随机推荐
- 线段树专题2-(加强版线段树-可持续化线段树)主席树 orz! ------用于解决区间第k大的问题----xdoj-1216
poj-2104(区间第K大问题) #include <iostream> #include <algorithm> #include <cstdio> #incl ...
- C4-ResNet-TF-小象cv-code
https://blog.csdn.net/chaipp0607/article/details/75577305 https://blog.csdn.net/leastsq/article/deta ...
- js 下载文件的操作方法
https://blog.csdn.net/zhoumengshun/article/details/71405963
- NodeServices
NodeServices https://www.cnblogs.com/stulzq/p/10535310.html 一.前言 在 .NET Framework 时,我们可以通过V8.NET等组件来 ...
- (4)django的新手三件套(返回页面、返回字符、重定向)
from django.shortcuts import render,HttpResponse,redirect 新手三件套,前期开发都会用到 render #向浏览器返回页面 HttpResp ...
- pageContext中page、request、session、application四种范围变量的用法。
在PageContext中有很多作用域 第一种:PageContext.PAGE_SCOPE适用于当前页面的作用域,其接受数据的代码是pageContext.getAttribute();访问页面也是 ...
- LG3187 [HNOI2007]最小矩形覆盖
题意 题目描述 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点坐标 输入输出格式 输入格式: 第一行为一个整数n(3<=n<=50000),从第2至第 ...
- 硬件访问服务学习笔记_WDS
1.Android驱动框架App1 App2 App3 App4-------------------硬件访问服务-------------------JNI-------------------C库 ...
- The difference among ioctl, unlocked_ioctl and compat_ioctl (RT)
Meta-answer: All the raw stuff happening to the Linux kernel goes through lkml (the Linux kernel mai ...
- docker nginx 运行后无法访问
## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是 ...