JAVA初学笔记11

内部类

概念

        在类中定义的类,称为内部类

分类

        成员内部类

                定义的位置:类中方法以外

        静态内部类

                 定义的位置:类中方法以外

                注意:使用static修饰的成员内部类

        局部内部类

                定义的位置:方法中

        匿名内部类(*)

                定义的位置:值或实参中

成员内部类

        定义位置:

                在类中方法以外定义的类

        语法:

                访问权限修饰符 class 类名{

                }

        注意:

                成员内部类中不能定义静态属性,静态方法,静态代码块

        创建对象的方式:

                内部类名 对象名 = 外部类对象.new 内部类类名(实参列表);

        注意:

                在该内部类所在的外部类的普通方法中创建该内部类对象

                可以使用this作为不外部类对象

                this.new 内部类类名(实参列表);

                此时this可以忽略不写,所以可以简写为new 内部类类名(实参列表);

                当外部类属性与内部类属性重名时候可以这么区分

                        外部类名.this.属性名:外部类属性

                        this.属性名:内部类属性

静态内部类

       定义位置:

                在类中方法以外定义的类

        语法:

                访问权限修饰符 static class 类名{

                }

        注意:

                外部类可以定义的,该内部类都可以定义

        创建对象:

                内部类类名 对象名 = new 外部类类名.内部类类名(实参列表);

        注意:

                静态内部类中不能使用外部类非静态成员

局部内部类

        定义的位置:

                方法中

        语法:

                class 类名{

                }

        注意:

                局部内部类中不能定义静态属性,静态方法,静态代码块

        创建对象:

                内部类类名 对象名 = new 内部类类名(实参列表);

                注意:

                        只能在定义该内部类的方法中使用

                        必须在定义该类下,方法结束前

匿名内部类(*)

        定义的位置:

                值或实参中

        语法:

                父类名/接口名 对象名 = new 父接口名/父类名(){

                        属性

                        方法

                        要重写的方法

                }

        特点:

                一个匿名内部类只能创建一个对象

        优点:

                代码书写方便

        缺点:

                导致代码混乱,使其阅读性较差(新手)

包装类

        概念

                八个基本数据类型对应的引用数据类型

包装类有哪些?

        byte        Byte

        short        Short

        int        Integer

        long        Long

        

        float        Float

        double        Double

        boolean        Boolean

        char        Character

数据类型转换

        将字符串转换为整数

                int 转换后的数字 = Integer . parseInt(字符串);

        将字符串转换为小数

                double 转换后的数字 = Double . parsenDouble(字符串);

        将字符串转换为布尔

                boolean 变量名 = Boolean . parsenBoolean(字符串);

        将各种类型转换为字符串

                String 变量名 = " "+要转换的数据

自动拆箱与自动装箱

        自动拆箱:

                将基本数据类型的包装类对象转换为基本数据类型

        自动装箱:

                将基本数据类型在转换为对应的包装类的对象

整数缓冲区

        区间:-128~127

常用类

Random

        随机数

        使用步骤:

                1,创建对象

                        Random 对象名 = new Random();

                2,获取随机数

                        数据类型 变量名 = 对象名.方法名();

        常用方法:

                nextInt(最大值)

                newBoolean()

Scanner

        键盘录入

        使用步骤:

                1,创建对象

                        Scanner 对象名 = new Scanner(System . in);

                2,等会用户输入

                        数据类型 变量名 = 对象名 . 方法名();

        常用方法:

                next()

                nextInt()

                nextLong()

                ...

System

        系统

        属性:

                in:输入

                out:输出

                err:错误输出

        常用方法:

                static arraycopy(object src , int srcPos , object dest , int destPos , int length)

                        src:要拷贝的数组

                        srcPos:拷贝开始位置

                        dest:目标数组

                        destPos:从那个位置开始写入

                        length:拷贝数据的个数

                        注意:destPos+length < dest . length

                        作用:拷贝数组

                static currentTimeMillis();获取当前系统时间距离1970年1月1日00:00:00(格林威治时间)的时间差,单位毫秒

Arrays

        数组操作工具类

        提供的静态方法:

                sort():

                toString(数组):将数组转换为特定格式的字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值