JavaSE学习之内部类及常用API

JavaSE学习之内部类及常用API

1. 什么是内部类?

内部类是定义在其他类内部的类,与外部类具有非常紧密的关系。在Java中,内部类可以分为静态内部类和非静态内部类。

1.1 静态内部类

静态内部类是使用static关键字修饰的内部类,它与外部类关系不大,可以像普通的类一样使用,而且可以直接通过外部类访问:

public class OuterClass {
    private static int num = 10;
    protected static class InnerClass {
        public void print() {
            System.out.println("静态内部类中的num值为:" + num);
        }
    }
    public static void main(String[] args) {
        OuterClass.InnerClass inner = new OuterClass.InnerClass();
        inner.print();
    }
}

1.2 非静态内部类

非静态内部类是没有static关键字修饰的内部类,它与外部类具有非常紧密的关系,非静态内部类可以访问外部类的非静态成员变量和方法:

public class OuterClass {
    private int num = 10;
    public class InnerClass {
        public void print() {
            System.out.println("非静态内部类中的num值为:" + num);
        }
    }
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        OuterClass.InnerClass inner = outer.new InnerClass();
        inner.print();
    }
}

2. 常用API

2.1 String类

String类是Java中最常用的类之一,它提供了非常多的方法供我们使用,例如:

  • String length():返回字符串的长度
  • String charAt(int index):返回指定索引处的字符
  • String substring(int beginIndex):返回从指定索引开始到字符串结尾的子字符串
  • String indexOf(String str):返回指定字符串在原字符串中第一次出现的索引位置

下面是一个简单的示例:

public class StringDemo {
    public static void main(String[] args) {
        String str = "hello, world!";
        System.out.println("字符串的长度为:" + str.length());
        System.out.println("第6个字符为:" + str.charAt(6));
        System.out.println("从第7个字符开始的子字符串为:" + str.substring(7));
        System.out.println("字符o第一次出现的索引位置为:" + str.indexOf("o"));
    }
}

2.2 Math类

Math类提供了一系列的数学计算方法,例如:

  • int abs(int a):返回参数的绝对值
  • double sqrt(double a):返回参数的平方根
  • double random():返回一个大于等于0.0且小于1.0的随机数

下面是一个简单的示例:

public class MathDemo {
    public static void main(String[] args) {
        int a = -10;
        double b = 2.0;
        System.out.println("a的绝对值为:" + Math.abs(a));
        System.out.println("b的平方根为:" + Math.sqrt(b));
        System.out.println("一个随机数为:" + Math.random());
    }
}

3. 总结

本文主要介绍了Java中的内部类的分类以及常用API的使用方法,通过示例的方式来帮助读者更好地理解。内部类的使用可以使得代码更加简洁优雅,而常用API的使用可以提高代码的效率。希望读者能够学以致用,灵活运用到实际的开发中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaSE学习之内部类及常用API - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • java实现文件上传和下载

    下面我将为你详细讲解Java实现文件上传和下载的完整攻略,过程中将分别提供两条示例。 文件上传 1. 通过servlet实现文件上传 使用servlet实现文件上传是比较常见和简便的实现方式之一。具体实现步骤如下: 创建一个html页面,用于上传文件 html<html><body> <form action=”uploadSe…

    Java 2023年5月20日
    00
  • Java如何利用Mybatis进行数据权限控制详解

    Java如何利用Mybatis进行数据权限控制详解 什么是数据权限控制 数据权限控制是指通过安全管理机制,对不同用户或用户组授权不同的数据操作权限,从而控制这些用户或用户组在访问企业数据资源时的范围和强度。 Mybatis数据权限控制的实现过程 首先,在Mybatis中配置Interceptor拦截器来实现数据权限控制,Interceptor是用来拦截SQL…

    Java 2023年5月20日
    00
  • 一文详解RocketMQ-Spring的源码解析与实战

    摘要:这篇文章主要介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角度解读 SDK 的设计逻辑。 本文分享自华为云社区《RocketMQ-Spring : 实战与源码解析一网打尽》,作者:勇哥java实战分享。 RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-…

    Java 2023年4月25日
    00
  • java实现字符串转String数组的方法示例

    让我来详细讲解一下“java实现字符串转String数组的方法示例”的完整攻略。 背景 在Java开发中,字符串和数组都是常见的数据类型。当我们需要对一个字符串进行拆分、处理时,常常需要将字符串转换为数组,以方便进行操作。那么,如何实现字符串转数组的操作呢? 方法一:使用String类的split方法 Java中的String类提供了split方法,它可以将…

    Java 2023年5月26日
    00
  • Java Base64解码错误及解决方法

    Java Base64解码错误及解决方法 背景 Base64是一种将二进制数据编码成ASCII字符可读格式的编码方式,常用于网络传输、数据存储等场景。Java提供了丰富的Base64编解码类库,如java.util.Base64或apache.commons.codec.binary.Base64等。 但在实际应用中,我们可能会遇到Base64解码错误的问题…

    Java 2023年5月20日
    00
  • Spring Security 登录时添加图形验证码实现实例

    下面我将详细讲解“Spring Security 登录时添加图形验证码实现实例”的完整攻略。 1. 概述 在实际开发中,登录验证是必不可少的一个过程,为了增强用户登录的安全性,可以添加图形验证码的验证方式。本攻略将详细介绍如何在 Spring Security 中实现图形验证码的添加。 2. 实现步骤 2.1 添加依赖 首先,在项目的 pom.xml 文件中…

    Java 2023年6月3日
    00
  • 你知道Java的这些骚操作吗?

    当然,没问题! 你知道Java的这些骚操作吗? 1. 位运算 位运算是一种直接对二进制位进行操作的运算,通常用于系统底层开发和优化计算速度。Java内置了多种位运算符,具体有: 按位与(&) 按位或(|) 按位异或(^) 取反(~) 左移位(<<) 右移位(>>) 无符号右移位(>>>) 示例 int a =…

    Java 2023年5月23日
    00
  • Java函数式编程(三):列表的转化

    Java函数式编程(三):列表的转化指的是如何使用函数式编程的思想来对列表进行转化操作。常见的列表转化操作有过滤、映射、归约等。下面是本文的完整攻略。 1. 列表的创建 在进行列表转化之前,我们首先需要了解如何创建一个Java列表。Java中列表的创建可以使用Java集合框架中的ArrayList类。可以通过以下方法进行创建: List<Integer…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部