java包装类与内部类

包装类概述

八种基本数据类型不具备对象的功能
包装类是弥补这些的一种功能

byte	> Byte 
char	> Character
short > Short
boolean > Boolean
int > Integer
long > Long
float > Float
double > Double

装箱与拆箱

装箱:将基本数据类型转换成包装类型
拆箱:将包装类型转换成基本数据类型
装箱中:
    Integer a = Integer.valueOf("123");
    Integer a = Integer.parseInt("123");
其它相似

拆箱:
    int a = Integer.valueOf(123);//可以直接拆

    

大形变量

BigInteger:由CPU原生提供的整型最大范围是64位long型整数
如果超过了就要用java.math.BigInteger就是用来表示任意大小的整数
BigInteger a=new BigInteger("2");
BigInteger b=new BigInteger("3");
a. add(b);//加
a. subtract(b); //减
a. multiply(b); //乘
a. divide(b); //相除取整
a. remainder(b); //取余
gcd(); //最大公约数
abs(); //绝对值
negate(); //取反数
pow(); //次方

BigDecimal:和BigInteger类似,BigDecimal可以表示一个任意大小且精度完全准确的浮点数
宇宙中所有粒子的总数
BigDecimal b1 = new BigDecimal("3.28");
BigDecimal b2 = new BigDecimal("10");
b1 = b1.multiply(b2);
System.out.println(b1.pow(80));

内部类

内部类就是在一个类内部,进行其他类结构的嵌套操作
内部类与外部类可以方便的访问彼此的私有域(包括私有方法、私有属性)
内部类是另外一种封装,对外部的其他类隐藏
无论外围类是否已经继承了某个接口的实现
每个内部类都能独立地继承一个接口的实现


内部类就是在一个类内部,进行其他类结构的嵌套操作
内部类与外部类可以方便的访问彼此的私有域(包括私有方法、私有属性)
内部类是另外一种封装,对外部的其他类隐藏
无论外围类是否已经继承了某个接口的实现
每个内部类都能独立地继承一个接口的实现

写法

class Outer{
	int i; 
	
	class Inner{
		public void print(){
			Outer.this.i = 22; //指定访问外部类的成员
			System.out.println("成员内部类的print方法");
		}
	}
	
	public void Run(){
		Inner in = new Inner();
		in.print();
		System.out.println(i);
	}
}
		
//method1
Outer.Inner b = new Outer().new Inner();
b.print();
		
//method2
Outer s = new Outer();
s.Run();

对于内部类都没有影响
内部类是个编译时的概念
一旦编译成功后,它就与外围类属于两个完全不同的类(当然他们之间还是有联系的)
对于一个名为OuterClass的外部类和一个名为InnerClass的内部类
在编译成功后,会出现这样两个class文件
OuterClass.class 和 OuterClass$InnerClass.class

方法内部类
方法内部类对外部完全隐藏
除了创建这个类的方法可以访问它以外,其他地方均不能访问 
换句话说其他方法或者类都不知道有这个类的存在
方法内部类对外部完全隐藏
除了创建这个类的方法可以访问它,其他地方均不能访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值