作业:
一、
final 修饰方法和变量,类,
修饰类不能被继承,修饰方法不能被重写,修饰变量 就只能赋值一次
JiafeiCat 是终态类,不能被继承
cat中定义Catnouse方法,该方法不能被重写。
Zangao 中定义常量
二、
实现内部类
a.外部类ChianMap(ratio)
b.定义内部类,NashQunDaoMap(ratio)
三、集体类为何不能有抽象方法
具体类可以实例化对象,实例化对象了,就可以调他的方法。但是抽象方法中没有方法体,所有没有办法执行。
四、 内部类调用外部类和外部方法(详细见 java 06 重写(覆盖) final 内部类 这篇随笔)
内部类 inner 外部类 out 外部方法 print----//内部类访问外部类的局部变量需要用final修饰局部变量
外部类访问内:
Car Ben = new Car();
Ben.new Engine().fire();
内访问外:
out .this.print
一、
class DaysixworkDeom{
public static void main(String[] args){
JiafeiCat A = new JiafeiCat();
A.cry();
Bosica B = new Bosica();
B.sleep();
Zangao Z =new Zangao();
Z.ptingBlood();
}
}
//抽象类
abstract class Animal {
public String name;
public void cry(){
System.out.println("猫的属性会喵喵");
}
}
//继承上面的抽象类然后 创建对象
abstract class Cat extends Animal{
public final void Catnouse(){
System.out.println("猫的属性可以抓老鼠");
}
}
final class JiafeiCat extends Cat {
public void cry(){
System.out.println("喵喵喵喵");
}
}
class Bosica extends Cat {
public void sleep(){
System.out.println("很能睡");
}
}
class Dog extends Animal{
}
class Jing8{
}
class Zangao extends Dog{
public final String blood ="english";
public void ptingBlood(){
System.out.println("Bood"+blood);
}
}
二、final 内部类
class InnerClass{
public static void main(String[] args){
ChinaMap C =new ChinaMap();
C.ratio();
C.new NasQdaoMap().ratio();
}
}
class ChinaMap{
String name ="中国内陆";
public void ratio(){
System.out.println("1:10w");
}
class NasQdaoMap{
String name ="那啥群岛";
public void ratio(){
System.out.println(ChinaMap.this.name);
}
}
}
四、
//final 内部类访问外部类
class DaysixworkDeom{
public static void main(String[] args){
//创建对象
Cat A = new Cat();
//访问子类中的输出语句
A.new Bosica().run();
}
}
//抽象类
abstract class Animal {
String name;
String color;
}
//继承上面的抽象类然后 创建对象
final class Cat extends Animal{
public int tiles = 4;
public void run(){
System.out.println("车的颜色"+color);
}
class Bosica {
public void run(){
//调用父类的方法 父类名+this+方法
System.out.println("车的颜色"+Cat.this.tiles+"轮子");
Cat.this.color ="红色";
Cat.this.run();
}
}
}