10.1package的概述及作用
包其实就是文件架
10.2包的定义及注意事项
Package 语句必须是程序的第一条可执行代码。
Package语句在一个java文件中只能有一个
如果没有package默认标识无包名
10.4不同包下类之间的访问。
10.5 import关键字的概述和使用
10.6 四种权限修饰符
Priavat
默认
Protected
Public
10.7
10.8内部类概述和访问特点
内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类的成员,必须创建对象
外部类名.内部类名 对象名=外部对象.内部对象;
Outer.inner a=new outer().new inner();
10.9
package java1;
public class SHI {
public static void main(String[]args) {
abc a=new abc();
a.method();
}
}
class abc{
public void fangfa() {
}
private class c{
public void print() {
System.out.println(“内部类私有类的访问”);
}
}
public void method() {
c c=new c();
c.print();
}
}
10.10 静态成员内部类
package java1;
public class shi_10 {
public static void main() {
shi_n.u a=new shi_n.u();
a.fng();
}
}
class shi_n{
static class u{
public void fng() {
System.out.println(“类-静态类-方法”);
}
}
}
10.11成员内部类的面试题
10.12局部内部类访问局部变量的问题
package java1;
public class shi_10 {
public static void main(String[]args) {
shi_n.u a=new shi_n.u();
a.fng();
}
}
class shi_n{
int num=10;
static class u{
int num=20;
public void fng() {
class c{
int num=30;
public void show() {
System.out.println(new shi_n().num);
System.out.println(new shi_n.u().num);
System.out.println(num);
}
}
c abc=new c();
abc.show();
}
public void show() {
System.out.println(this.num);
}
}
}
10.3匿名内部类
就是内部类的简化写法
前提:存在一个类或者接口。这个类可以使具体的类,也可以使抽象类
package java1;
public class shi_13 {
public static void main(String[]args) {
new outer().method();
}
}
interface niming{
public abstract void show();
}
class outer {
class inner implements niming{
public void show() {
System.out.println(“匿名内部类”);
}
}
public void method() {
inner abc=new inner();
abc.show();
new inner() {}.show();
}
}
10.14匿名内部类重写多个方法调用
package javahome;
public class shi_14 {
public static void main(String[]args) {
new b().show();
}
}
interface a{
public abstract void show();
}
class b implements a{
public void show() {
System.out.println(“匿名内部类”);
//new b().show();
}
public void see() {
new b().show();
}
}
10.15 匿名内部类在开发中的应用
package javahome;
public class shi_166 {
public static void main(String[]args) {
ccc.method().show();
}
}
interface abbc{
void show();
}
class ccc{
public static abbc method(){
return new abbc() {
public void show() {
System.out.println(“返回子类对象”);
}
};
}
}
10.17面向对象复习1