当看到一个方法的形参要一个类 类型,就传递一个该类的对象。
当看到一个方法的形参要一个抽象类 类型的时候,就传递一个该抽象类的子类对象。
当看到一个方法的形参要一个接口 类型,就传递一个个该接口的子类对象。
当一个方法的返回值类型是一个类类型,就返回一个该类的对象
当一个方法的返回值类型是一个抽象类类型,就返回一个该抽象类的对象
当一个方法的返回值类型是一个抽象类类型,就返回一个该抽象类的子类对象。
概述:相当于就是一个文件夹
作用:用来解决同一个路径下不能存在同名文件的问题。,也就是方便分类管理。
划分:
按照功能划分,
按照模块划分
也就是导包
概述:不同包下的类之间的访问,这样我们就不需要加包的全路径,java自动导包
格式:import 包名;
本类 | 同一个包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | |
---|---|---|---|---|
private | Y | |||
默认 | Y | Y | ||
protected | Y | Y | Y | |
public | Y | Y | Y | Y |
权限修饰符:private ,默认的,protected,public
状态修饰符:static , final
抽象修饰符:abstract
权限修饰符:默认修饰符,public
状态修饰符:final
抽象修饰符:abstract
用的最多的就是:public
权限修饰符:private,默认的,protected, public
状态修饰符:static final
用的最多的就是:private
权限修饰符:private,默认的,protected, public
用的最多的就是public
权限修饰符:private,默认的,protected, public
状态修饰符:static final
抽象修饰符:abstract
用的最多的就是:public
成员变量:public static final
成员方法:public static
public abstract
public final
概述:把类定义到其他类的内部的类
将类A定义到类B中,那么这个类A就称为内部类,类B称为外部类
访问特点:
按照内部类的位置分类:
在成员位置定义的类,被称为成员内部类,定义在类中方法外。
在局部位置定义的类,称为局部内部类。定义在类中方法内
在测试类直接访问内部类的成员:
格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象
创建内部类的对象:
new outer().new inner() 也就是new两层。
成员内部类的修饰符:
private 为了保证数据的安全性
static为了访问数据
注意事项:
成员内部类被静态修饰后的访问方式是:
格式:外部类名.内部类名 对象名 = new 外部类名.内部类名();
就是局部内部类的简化写法。
前提:存在一个或者接口,这里的类可以是具体类,也可以是抽象类
格式:new 类名或接口名(){重写方法;}
本质其实就是一个继承该类或者实现了该接口的子类匿名对象。
匿名内部类其实就是一个子类匿名对象
package com.itheima.demo;
public class PersonTest {
public static void main(String[] args) {
//如何调用PersonDemo中的method方法呢?
new PersonDemo().method(new Person() {//格式:new 类名或接口名(){重写方法;}
@Override
public void show() {
}
});
}
}
package com.itheima.demo;
abstract class Person {
public abstract void show();
}
package com.itheima.demo;
class PersonDemo {
public void method(Person p) {
p.show();
}
}
package com.itheima.demo;
interface Inter {
void show();
}
class Outer {
public static Inter method() {
return new Inter() {//调用谁就返回谁。
@Override
public void show() {
System.out.println("hello word");
}
};
}
//补齐代码
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
在一个类里面可以定义一个接口称为内部接口,内部接口可以私有,私有后外界就无法创建其子类对象。在外界可以采用内部类的方式,创建出内部接口的子类对象。
new aa.bb(){} bb是一个接口
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
### 类中定义接口
在一个类里面可以定义一个接口称为内部接口,内部接口可以私有,私有后外界就无法创建其子类对象。在外界可以采用内部类的方式,创建出内部接口的子类对象。
new aa.bb(){} bb是一个接口
本文地址:https://blog.csdn.net/qq_46466568/article/details/107585625
如对本文有疑问, 点击进行留言回复!!
现在动物乐园有3个动物,袋鼠(花花、2岁、2条腿)、河马(憨憨、1岁、3条腿)、草泥马(草草、3岁、4条腿),分别使用面向对象学习前的知识和对象的知识完成对该数组的增删改查
网友评论