Java学习 内部类与泛型类

1.内部类

类可以相互定义,即在一个类的类体中可以嵌套定义另一个类。被嵌套的类被称为内部类,它的上级被称为外部类。
例子如下:

class Outer
{
	private int index=100;
    class Inner
    {
		private int index=50;
		void print(){
			int index=30;
			System.out.println(index);
			System.out.println(this.index);
			System.out.println(Outer.this.index);
		}
    }
	void print(){
		Inner inner=new Inner();
		inner.print();
	}
	Inner getInner(){//匿名内部类,可以利用其访问类中成员,它不用定义类名,可以直接用new创建对象
		return new Inner();
	}
}
public class Jpro3_8
{
	public static void main(String args[]){
		Outer outer = new Outer();//定义外部类对象
		outer.print();
		Outer.Inner inner = outer.getInner();//定义内部类对象
		inner.print();
	}
}

运行结果如下:
在这里插入图片描述
如果没有创建匿名内部类,那么创建内部类对象的方法将会改变,格式为

外部类.内部类 内部类对象=外部类对象.new 内部类;

2.泛型类

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

泛型类声明
一般格式为
class 类名 <泛型列表>

例子

import java.util.ArrayList;
import java.io.*;
import java.util.Scanner;
class Student{
      private String account;

      private String password;

      public Student(String account , String password){
             this.account = account;
             this.password = password;
      }
}
public class Jpro3_9{

   public static void main(String[] args){
           ArrayList<Student>as=new ArrayList<Student>();//Student是泛型类的参数,它可以引用任何类型,但不能是基本数据类型
           Student s1=new Student("admin" , "20202");
           Student s2=new Student("guest" , "696969");

           as.add(s1);
           as.add(s2);
           System.out.println("student's number:"+as.size());
   }
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值