java摘要_JAVA学习摘要

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

静态方法

1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:

2f1891ac-d5ee-44d4-9b37-953f8c7dafa5.jpg

如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:

a1b12da4-5102-4c07-87bd-30d000cbfb20.jpg

2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:

3a5e668a-9fae-4f0d-a5f1-599ec33c6bfe.jpg

3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。     如:

5f524776-ea30-4ad3-8bc6-df6de319cec4.jpg

JAVA中静态初始化块

Java 中可以通过初始化块进行数据赋值。如:

d1cfe1b7-29e3-49da-9527-f2575ebeaf92.jpg

在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。

需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

我们来看一段代码:

763706ee-0632-4e73-8110-d640bfce0c24.jpg

运行结果:

012be8dd-f438-47bf-b13e-4089a355726b.jpg

通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

内部类:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

内部的主要作用

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

内部类的种类

成员内部类

静态内部类

方法内部类

匿名内部类

举例

//外部类HelloWorld

public class HelloWorld {

// 内部类Inner,类Inner在类HelloWorld的内部

public class Inner {

// 内部类的方法

public void show() {

System.out.println("welcome to imooc!");

}

}

public static void main(String[] args) {

// 创建外部类对象

HelloWorld hello = new HelloWorld();

// 创建内部类对象

Inner i = hello.new Inner();

// 调用内部类对象的方法

i.show();

}

}

静态内部类

静态内部类是 static 修饰的内部类,这种内部类的特点是:

1、 静态内部类不能直接访问外部类的非静态成员,但可以通过new 外部类().成员 的方式访问

2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

a7344460-e9ec-4501-9523-48259536cf08.jpg

运行结果 :

942a3fe2-5c73-42dd-90fd-c4906f1e8e46.jpg

12f18aa9-776c-4342-a559-8483707f3217.png

异常处理

58ee7421b32372e2778f8b1af19fb1c8.png

String方法

7930f30d9075201ff49a12261afcd981.png

6779d57140d662a1f37a25d47e844b42.png

986996acf563ee9bc0775b0e7b5b188f.png

9963256ec884970ccaa0a3d9f3eb902b.png

a83240b5915014e764a0cd9dd4486982.png

StringBuffer和StringBuilder

833c0045123fde025b61d55036256ef3.png

08192f6150917557238ca139b55d20fc.png

aa57593f49251ef2b425ca864f0d0cca.png

包装类

dadffac2730c543ad3b982f02328c028.png

6d23ce6221037e7a51af61033f39f591.png

Integer

3b56bdd5cdc6ff9b775a0be270a6bcda.png

Strings

938f0c6b18f5327b86dfad11a7a27009.png

da628a6bc4defdb23afe65153bfe13ad.png

format()方法和Date类

b8d7c9acb8f26d63bbd092dc1560cf17.png

cba172d1124267b456827343ca9324b7.png

1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包

Calendar类

f5fbc4b8689a2f2b0595b714c361b927.png

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

运行结果: 782f226fae5ae0c7cf99931978c61393.png

86fbf7dddb4eab9a17de9ef4e9540af2.png

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

Math类

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

常用的方法:

454b4a3b14ad2d160d0a8e1be8d27f68.png

通过案例我们来认识一下他们的使用吧!!

2e6eda261da7ed881118126d5e198527.png

运行结果:

076b4878d5cd560890fa3c2f779a2783.png

集合的使用

集合就一个容器,将需要的的具有相同属性和相同意义的个体存在同一个集合中。

8129f1d57891e46542d7a0b44125cc35.png

b5f1300080bb1542a4d3142286a7fdb0.png

9260bf25816e3ae24dc1ffcb12a087cb.png

泛型

a7d6d63506fe50f06f5bc7062a767848.png

81978adc4a6b4e95cb0acd9364eb9d0e.png

Map

e5b8d64de105cde460ba044543255f84.png

4774d088b609356fbd3d0c61e27efb6d.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值