第八章总结:包和内部类

8.1.1:类名冲突

有包的存在就有类名存在,类名定义多种,但功能不同

8.1.2:完整的类路径

1.双击打开工作区域是不一样的

C:\Users\隐入尘烟\eclipse-workspace

2.复制空间寻找包内内容

3.创建项目

第八章总结:包和内部类_第1张图片

8.1.3:创建包

在项目里创建包

第八章总结:包和内部类_第2张图片

5.如何在包里创建类

自动默认为pacakage1里

第八章总结:包和内部类_第3张图片

第八章总结:包和内部类_第4张图片

 6.创建类的同时创建包

第八章总结:包和内部类_第5张图片

 包:域名分层的作用:建立包时倒着写

在包内建立前期域名搭建,例如:www.baidu.com 

第八章总结:包和内部类_第6张图片

一次性建立连包

第八章总结:包和内部类_第7张图片

第八章总结:包和内部类_第8张图片

不能创建连包

只能使用创建的包

package com.baidu.www;//包的位置

public class Game1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

8.1.4:导入包 

1.使用import导入包

2.使用import导入静态成员

package com.baidu.www;

import java.util.Scanner;


public class Game1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//从键盘获取一个整数
		//输出整数
		  Scanner sc =new Scanner(System.in); //创建扫描器
		    System.out.println("请输入一个数");
		  int c1 =sc.nextInt();
		 
		  System.out.println(c1);
		  sc.close();
		 
		 
		
		

	}

}

8.2:内部类

8.2.1:成员内部类

1.内部类简介

class OuteruClass{//外部类
 
class InnerClass{//内部类
 
}

 例题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();
	}
}

成员内部类不止可以 在外部类使用,在其他类中也可以使用。在其他类中创建内部类的对象语法特殊

2.使用this关键字

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

8.2.2:匿名内部类

匿名类是只在创建对象时才会编写类体的一种写法,匿名类特点:现用现写

abstract class Dog{
	String Color;
	public abstract void move();
	public abstract void call();
}
 
public class Demo {
	public static void main(String args[]) {
		Dog maomao = new Dog() {
			public void move() {
				System.out.println("四腿狂奔");
			}
			public void call() {
				System.out.println("嗷呜~");
			}
		};
		maomao.Color = "灰色";
		maomao.move();
		maomao.call();
	}
 
}
例题8.5

你可能感兴趣的:(java,开发语言)