面向对象(包):

面向对象:

包:

相当于文件夹,包没有父子级关系。

包的作用:

1.不同的包存储不同.java文件 增加了可读性以及后期的维护性

2.java中是以类为单位的,区分类,包名.类名

3.包的作用用来区分类

导包:

1:java.lang包下的所有类都可以直接使用 不需要导包

2:如果需要导包: import 所需类的全限定名

3:在类声明之前 声明包之后

4:import java.util.*;

5:import 导包 同名类只能通过import导入一次

6:如何导入同名类:

​ a:import导入

​ b:创建对象时 使用全限定名 java.sql.Date sqlD = new java.sql.Date(123456L);

7:jdk1.7之后 可以使用静态导入

​ a:import static java.lang.Math.PI; 导入指定的属性

​ b:import static java.lang.Math.*;导入所有静态内容

代码1分析:

在这里插入图片描述

内部类:

1.定义在类里面的类称之为内部类

2.生成的字节码文件的文件名称 内部类-> 外部类$内部类

普通内部类:

1:外部类中如何使用内部类的属性以及方法:

​ (1)在外部类中创建内部类对象 调用内部类功能、属性


2:内部类中使用外部类的属性以及方法:

​ (2)可以直接使用


3:其它类中调用内部类中的属性和方法:

​ (1)导包 包名.外部类.内部类

​ 内部类类型 变量名= new 外部类对象().new 内部类对象

​ Inner01 in = new Outer01().new Inner01();

​ (2)外部类.内部类 变量名= new 外部类对象().new 内部类对象

​ Outer01.Inner01 in = new Outer01().new Inner01();

代码2分析:

在这里插入图片描述

静态内部类:

通过static修饰的内部类称之为静态内部类


1:外部类中如何使用静态内部类的属性以及方法:

​ (1)创建对象,调用对象的属性以及方法


2:静态内部类中使用外部类的属性以及方法:

​ (2)创建外部类的对象 调用对象的属性以及方法


3:其它类中调用内部类中的属性和方法:

​ (1)导包 包名.外部类.内部类

​ 内部类类型 变量名= new 外部类. 内部类对象()

​ Inner01 in = new Outer02.Inner01();

​ (2)外部类.内部类 变量名= new 外部类. 内部类对象()

​ Outer01.Inner01 in =new Outer02.Inner01();


4:注意:

Inner01 inner = new Outer02().new Inner01();这种写法不允许。

代码3分析:

在这里插入图片描述

例题1分析:

编写静态内部类完成单例模式创建,分析能否做到延迟加载。

public class Single {
	
	static class SingleHolder{
		private static Single single = new Single();
	}
	
	private Single() {
		
	}
	
	public static Single getInstance() {
		return SingleHolder.single;
	}
	
	public static void add() {
		
	}

	public static void main(String[] args) {
		
		  Single s1 = getInstance();
		  System.out.println(s1);
		
	}
}
分析图示:

{

}

public static void main(String[] args) {
	
	  Single s1 = getInstance();
	  System.out.println(s1);
	
}

}
``

分析图示:

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值