![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java随笔
Serendipity486
菜鸟coder一名
展开
-
形象理解Api和SDK
API: 概念:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科 个人理解:在Java中,API相当于是一个别人已经实现了某个功能的说明书。比如别人写了一个两个数字相加求和的方法: &n...转载 2020-11-13 13:41:29 · 137 阅读 · 0 评论 -
Java学习随笔(函数式接口)
函数式接口(Functional Interface)是Java8引入的一个新特性,是一种特殊的接口:SAM类型接口(Single Abstract Method),但本质上还是接口。函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为Lambda表达式。只要接口中出现多个抽象方法,那么就不能称之为函数式接口,运行时会编译错误。为此,Java8提供了一个新的注解@FunctionalInterface,如果接口被这个注解标注,就说明该接口是函数式接口,原创 2020-11-09 19:28:56 · 169 阅读 · 0 评论 -
Java学习随笔(lambda表达式)
定义lambda表达式是一个可传递的代码块,它允许把函数作为一个方法的参数。语法表达式格式如下:(parameters)->expression 或(parameters)->{statements;}重要特征:可选类型声明: 不需要生命参数类型,编译器可以统一识别参数值。可选的参数圆括号: 一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号: 如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字: 如果主体只有一个表达式返回值,则编译器会自动返回值原创 2020-11-09 18:59:52 · 146 阅读 · 0 评论 -
Java核心类(5 - 常用工具类)
常用工具类Math常用静态方法:求绝对值Math.abs(-100); // 100Math.abs(-3.15); // 3.15取最大值或最小值Math.max(100,22); // 100Math.min(-2.123); // -2计算xy:Math.pow(2,10); // 2的10次方=1024计算x的开方:Math.sqrt(2); // 1.414...计算ex:Math.exp(2); // 7.389..原创 2020-09-27 21:01:49 · 82 阅读 · 0 评论 -
Java核心类(4 - BigInteger和BigDecimal)
BigInteger在Java中,由CPU原生提供的整型最大范围是64位long型整数。使用long型数据可以直接通过CPU指令进行计算,速度非常快。如果我们使用的整数范围超过了long,那么我们就只能使用软件模拟一个大整数。java.math.BigInteger就是用来表示任意大小的整数。BigInteger内部用一个int[]数组来模拟一个非常大的整数:import java.math.BigInteger;public class Main { public static void原创 2020-09-27 20:19:15 · 793 阅读 · 0 评论 -
Java核心类(3 - 枚举类)
枚举类枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片段,而且全部都以类型安全的形式来表示。所有的枚举都继承自java.lang.Enum类,又由于Java不支持多继承,所以枚举对象不能再继承其他类(但是可以实现interface)。enum可以让编译器自动检查某个值是否在枚举的集合里,并且,不同用途的枚举需要不同的类型来标记,不能混用,我们可以使用enum来定义枚举类:public class Main { public static void原创 2020-09-27 17:02:40 · 163 阅读 · 0 评论 -
Java核心类(2 - 包装类型)
包装类型Java的数据类型分为两种:基本数据类型:byte,char,short,int,long,boolean,float,double引用类型:所有的class和interface类型Java核心库为每种基本类型都提供了对应的包装类型:基本类型引用类型booleanjava.lang.Booleanbytejava.lang.Byteshortjava.lang.Shortintjava.lang.Integerlongjava.la原创 2020-09-26 20:24:44 · 169 阅读 · 0 评论 -
Java核心类(1 - String)
String类在Java中,String是一个引用类型,它本身也是一个class。但是,Java编译器对String有特殊处理,即可以直接用"..."来表示一个字符串:String s = "HelloWorld!";实际上,字符串在String内部是通过一个char[]数组表示的,因此下列写法也是正确的:String s = new String(new char[]{'H','w','l','l','o','!'});Java字符串一个重要特点就是字符串不可变。这种不可变是通过内部的pri原创 2020-09-26 16:15:03 · 87 阅读 · 0 评论 -
Java面向对象基础(8-static和final)
static关键字作用:在没有创建对象的情况下进行调用(方法/字段)。静态字段静态字段和非静态字段的区别:静态字段被所有的对象所共享,在内存中只有一个副本,当且仅当类初次加载时会被初始化。非静态字段是对象所拥有的,在创建对象时会被初始化,存在多个副本,各个对象拥有的副本互不影响。public class Main { public static void main(String[] args) { System.out.println(Person.name);原创 2020-09-24 16:14:13 · 90 阅读 · 0 评论 -
Java面向对象基础(7-接口)
接口抽象方法的本质是定义接口规范:即规定上层接口规范,让子类去继承实现抽象方法。接口定义:如果一个类中没有字段,并且所有方法都是抽象方法,那么这个类可以改写成接口interface,如下:abstract class Student{ public abstract void Hello(); public abstract String getName(); public abstract int getAge();}那么这个类就可以改写成接口:interface。J原创 2020-09-21 20:15:57 · 211 阅读 · 0 评论 -
Java面向对象基础(6-抽象类)
抽象类抽象方法若一个父类中的一个方法仅仅是为了定义方法签名,让子类去覆写,不需要原创 2020-09-15 15:31:54 · 148 阅读 · 0 评论 -
Java面向对象基础(5-多态)
多态*多态分为两种。一种是之前已经讲过的方法重载,另一种就是现在要讲的方法覆写。方法重载:是同一类中,相同方法名,但不同参数列表,这样的叫做函数重载。方法覆写:子类继承父类,子类若有一个方法的方法签名和返回值和父类完全一致,这就称为方法覆写。举个方法重载的例子:class Student{ private String name; private int age; public void Set(){ this.name="Hong";原创 2020-09-15 11:17:01 · 61 阅读 · 0 评论 -
详解Java的自动装箱与拆箱(Autoboxing and unboxing)
一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程1 //自动装箱2 Integer total = 99;3 4 //自动拆箱5 int totalprim = total;简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那么我们需要看看它的执行过程:1 public class Main {2 public stat...转载 2020-09-14 20:53:14 · 355 阅读 · 0 评论 -
Java面向对象基础(4-继承)
继承继承是面向对象编程中一种非常强大的代码复用机制,即在已有基础上进行功能的拓展。首先我们先看一下没有使用继承的两个类Person类和Student类。class Person { private String name; private int age; public String getName() {...} public void setName(String name) {...} public int getAge() {...} pub原创 2020-09-13 16:37:40 · 60 阅读 · 0 评论 -
Java面向对象基础(3-方法重载)
方法重载在一个类中,我们可以定义多个方法。如果有一系列方法,他们的功能都是相似的,只有参数有所不同,那么可以将这一组方法叫做同名方法。而这种方法名相同,但是各自的参数不同,称为方法重载(Overload)。方法重载的返回值类型通常是相同的。方法重载的目的:功能类似的方法使用同一名字,更容易记住,因此调用起来更简单。例如:public class Main { public static void main(String[] args) { Person ming = n原创 2020-09-13 15:24:46 · 188 阅读 · 0 评论 -
Java面向对象基础(2-构造方法)
构造方法创建实例的同时初始化这个实例的字段。例如:public class Main { public static void main(String[] args) { Person hong = new Person("Hong",14); System.out.println(hong.getName()); //输出Hong System.out.println(hong.getAge()); //输出14 }}class原创 2020-09-13 15:09:36 · 87 阅读 · 0 评论 -
Java面向对象基础(1-方法)
1.方法定义:是一组为了实现特定功能的代码块的集合。功能:1、 结构化代码将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,即程序的可维护性强。2、减少代码重复一个特定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。3、访问类中私有成员修改、查看类中的私有成员都需要类中的方法来实现,这样可以保证累得封装性良好。定义方法修饰符 方法返回类型 方法名(方法参数列表) { 若干方法语句; return 方法原创 2020-09-12 20:57:33 · 107 阅读 · 0 评论