Java第八次总结

文章介绍了Java中的类包管理,如何避免类名冲突,以及如何使用import导入静态成员。此外,详细讲解了内部类的使用,包括直接访问外部类的私有成员,以及this关键字的应用。还提到了匿名类的概念,它是即写即用的类定义方式。
摘要由CSDN通过智能技术生成

8.1Java类包
(1)类名冲突
Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口,都需要隶属于某一个类包,这个类包包含了一些类和接口。

(2)完整的类路径、
一个完整的类名需要包名与类名的组合,每个类都隶属于一个类包, 只要保证同一类包中的类不同名,就可以有效地避免同名类冲突的情况。

(3)创建包
1.在src节点上右击,选择New/Package。

2.弹出New Java Package对话框,在name文本框中输入新建包名,然后点击Finish。

例题8.1

2使用import导入静态成员

import关键字除了导入包外,还可以导入静态成员

使用import导入静态成员使用语法形式;import static  静态成员:

例题8.2

2成员内部

指一个类中使用内部类,可以在内部类中直接存取其所在类的私有成员变量。

例如;

在成员内部类中可以 随意使用外部类的成员方法,尽管这些类成员被修饰为private;如图8.3

public class Car {
	private String brand;//汽车品牌
	 
	 public  Car(String brand) {//汽车类的构造方法,参数为汽车品牌
	  this.brand=brand;//给汽车品牌赋值
	 }
	 class Engine{//发动机类(内部类)
	  String model;//发动机型号
	  public Engine(String model) {//发动机类的构造方法,参数为发动机型号
	   this.model=model;//给发动机型号赋值
	  }
	  public void ignite() {//(发动机)点火方法
	   System.out.println("发动机" + this.model +"点火");
	  }
	  public void start() {//启动(汽车)方法
	   System.out.println("启动" + this.brand);
	  }
	 public static void main(String[]args) {
	  Car car = new Car("大众朗行");//创建汽车类对象,并为汽车品牌赋值
	  car.start();//汽车类对象调用启动(汽车)方法
	  Car.Engine engine =car.new Engine("EA211");//创建发动机类(内部类)对象,并为发动机型号赋值
	  engine.ignite();//发动机类对象调用(发动机)点火方法
	 
	 }
	 }
}

运行结果;

使用this关键字获取内部类与外部类的引用

如果在外部类中定义的成员变量与内部类的成员变量名称相同,可以使用this关键字

如例题8.4

public class TheSameName {
	private int x =7;//外部类的x
	private class lnner{
		private int x =9;//内部类的x
		public void doit() {
			int x=11;//局部类的x
			x++;
			this.x++;//调用内部类的x
			TheSameName .this.x++;//调用外部类的x
		}
	}
}

匿名内部类

匿名类是只在创建对象时才会编写类体的一种写法。匿名类的特点是“现写现用”,其语法如下:

new父类/父类接口(){

子类实现的内容

}

例题8.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值