Java内部类和泛型

一、内部类

内部类可以是静态(static)的,可以使用 public、protected 和 private 访问控制符,而外部类只能使用 public,或者默认。

1、成员内部类

(1)内部类可以直接访问外部类成员,包括私有成员(private);外部类调用内部类成员,需要实例化内部类对象再调用;

public class Outerclass {
	int x;
	private int y;

	public void addOuter() {
		Inner inner = new Inner();
		inner.m++;
	}

	public class Inner {
		int m;

		public void addInner() {
			x++;
			y++;
		}
	}
}


(2)内部类可以对同一包其他类隐藏;

(3)静态内部类只能访问外部类静态数据(方法和变量);

二、匿名内部类

语句:new 接口名或者抽象类名

(1)定义位置-方法体内或者语句块内;

(2)必须继承一个抽象类或者实现一个接口;

abstract class Person{
           public void eat(); 
}

class Cat extends Person{
            public void eatSth(){
            Person p=new Person(){
                         public void eat(){}
                         }
             }
             p.eat();
}
<pre name="code" class="html">
             new Person{
                 public void eat(){}
                         }
             }.eat();
}

 

二、泛型

1、泛型类-可以接受所有类型的数据

定义 class Point<T1 T2>{
                    T1 x;
                    T2 y;
}
实例化 Point<Integer,Integer> p=new <span style="font-family: Arial, Helvetica, sans-serif;">Point<Integer,Integer>;</span>


2、泛型方法

定义 public <T1,T2>  void Name(T1 x,T2 y){} //<>内为泛型参数 ()为传值参数

修饰符与返回值类型直接定义在泛型中使用的泛型参数列表

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值