Android学习笔记day10
2016-02-28 22:59
411 查看
认识泛型:
1、泛型是在JDK1.5之后增加的新功能。泛型(Generic)
2、泛型可以解决数据类型安全性问题。他的主要原理是在,类声明的时候通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。
3、格式
访问权限
class类名称<泛型,泛........>{
属性
方法
}
4、对象的创建
类名称<具体类型> 对象名称 = new 类名称<具体类型>();
5、在构造方法中使用泛型:
代码实例:
class Con<T>{
private T value;
public Con(T value){
this.value = value;
}
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
public class zuoye10 {
public static void main(String[] args) {
Con<String> c = new Con<String>("构造方法中使用泛型");
System.out.println(c.getValue());
}
}
设置多个泛型:直接在<>中添加多个泛型,中间用逗号隔开。
泛型接口的使用:
1、声明泛型接口,在接口名称后面加上<T>。
2、格式
interface 接口名称<泛型标识>{
}
代码实例:
package digui.jikexueyuan.com;
interface GenInter<T>{
public void say();
}
class Gin<T> implements GenInter<T>{
private String Info;
public Gin(String Info){
this.Info = Info;
}
public String getInfo() {
return Info;
}
public void setInfo(String info) {
Info = info;
}
public void say() {
}
}
public class zuoye10 {
public static void main(String[] args) {
Gin<String> g = new Gin("jekexueyan");
System.out.println(g.getInfo());
}
}
泛型方法:
1、泛型方法中可以定义泛型参数,此时,参数的类型就是传入数据的类型。
2、格式
访问权限 <泛型标识> 泛型标识 方法名称 ([泛型标识 参数名称])
代码实例:
package digui.jikexueyuan.com;
class Gener{
public <T>T tell(T t) {
return t;}
}
public class zuoye11 {
public static void main(String[] args) {
Gener g = new Gener();
String str = g.tell("jikexueyuan");
System.out.println(str);
int s = g.tell(10);
System.out.println(s);
}
}
泛型数组:在使用泛型方法的时候也可以传递或返回一个泛型数组。
代码实例:
package digui.jikexueyuan.com;
public class zuoye12 {
public static void main(String[] args) {
Integer arr[] = {1,2,3,4};
tell(arr);
}
public static <T>void tell(T arr[]){
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
快捷键:
Ctrl+1快捷修复 Ctrl+D快捷删除行Shift+Ctrl快速创建新的行
Ctrl+F11运行程序Alt↑/↓快速移动行
Ctrl+Alt↑/↓快速复制行Ctrl+M放大工作区
Alt+/快速补全代码 Ctrl+/注释
http://www.weixueyuan.net/view/6321.html(JAVA泛型讲解)
1、泛型是在JDK1.5之后增加的新功能。泛型(Generic)
2、泛型可以解决数据类型安全性问题。他的主要原理是在,类声明的时候通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。
3、格式
访问权限
class类名称<泛型,泛........>{
属性
方法
}
4、对象的创建
类名称<具体类型> 对象名称 = new 类名称<具体类型>();
5、在构造方法中使用泛型:
代码实例:
class Con<T>{
private T value;
public Con(T value){
this.value = value;
}
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
public class zuoye10 {
public static void main(String[] args) {
Con<String> c = new Con<String>("构造方法中使用泛型");
System.out.println(c.getValue());
}
}
设置多个泛型:直接在<>中添加多个泛型,中间用逗号隔开。
泛型接口的使用:
1、声明泛型接口,在接口名称后面加上<T>。
2、格式
interface 接口名称<泛型标识>{
}
代码实例:
package digui.jikexueyuan.com;
interface GenInter<T>{
public void say();
}
class Gin<T> implements GenInter<T>{
private String Info;
public Gin(String Info){
this.Info = Info;
}
public String getInfo() {
return Info;
}
public void setInfo(String info) {
Info = info;
}
public void say() {
}
}
public class zuoye10 {
public static void main(String[] args) {
Gin<String> g = new Gin("jekexueyan");
System.out.println(g.getInfo());
}
}
泛型方法:
1、泛型方法中可以定义泛型参数,此时,参数的类型就是传入数据的类型。
2、格式
访问权限 <泛型标识> 泛型标识 方法名称 ([泛型标识 参数名称])
代码实例:
package digui.jikexueyuan.com;
class Gener{
public <T>T tell(T t) {
return t;}
}
public class zuoye11 {
public static void main(String[] args) {
Gener g = new Gener();
String str = g.tell("jikexueyuan");
System.out.println(str);
int s = g.tell(10);
System.out.println(s);
}
}
泛型数组:在使用泛型方法的时候也可以传递或返回一个泛型数组。
代码实例:
package digui.jikexueyuan.com;
public class zuoye12 {
public static void main(String[] args) {
Integer arr[] = {1,2,3,4};
tell(arr);
}
public static <T>void tell(T arr[]){
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
快捷键:
Ctrl+1快捷修复 Ctrl+D快捷删除行Shift+Ctrl快速创建新的行
Ctrl+F11运行程序Alt↑/↓快速移动行
Ctrl+Alt↑/↓快速复制行Ctrl+M放大工作区
Alt+/快速补全代码 Ctrl+/注释
http://www.weixueyuan.net/view/6321.html(JAVA泛型讲解)
相关文章推荐
- Android 蓝牙对等通信初探
- Android Studio 报:AndroidManifest.xml (系统找不到指定的路径。) 错误
- 《Android开发艺术探索》读书笔记 (2) 第2章 IPC机制
- java.lang.NoSuchFieldError: android.support.v7.appcompat.R$styleable.Theme_w的解决办法
- android第三方登录数据库设计以及业务数据流向说明
- Android中如何实现文件下载
- android studio 5.0以上去除ToolBar而不是ActionBar
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- (未完成)Android版本更新变迁
- android下使用gzip压缩提升访问server api的效率
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- 区别getFragmentManager、getSupportFragmentManager和getChildFragmentManager
- Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
- Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
- android学习之CheckBox
- 【Android学习入门】Android中activity的启动模式
- Android设备的内置存储和外置存储到底是怎么回事,深入理解
- android studio 程序真机运行中文显示乱码
- 超级简单的Android Studio jni 实现(无需命令行)
- Android学习资料