-
package lmr; public class Initail{ public static void main(String[] args){ Telphone tel1 = new CellPhone(); tel1.call(); tel1.message(); Telphone tel2 = new SmartPhone(); tel2.call(); tel2.message(); } }
查看全部 -
package lmr ; public abstract class Telphone{ public viod call(){ System.out.println("通过语音打电话"); } public voif message(){ System.out.println("通过语音发短信"); } }
查看全部 -
package lmr ; public abstract class Telphone{ public viod call(){ System.out.println("通过键盘打电话"); } public voif message(){ System.out.println("通过键盘发短信"); } }
查看全部 -
。。。。。。
查看全部 -
向上类型转换(隐式/自动类型转换),是小类型到大类型的转换
向下类型转换(强制类型转换),是大类型到小类型
instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题
查看全部 -
package lmr; public class Cat extends Animal{ }
查看全部 -
package lmr; public class Dog extends Animal{ public void eat(){ System.out.println("狗是吃肉的"); } }
查看全部 -
package lmr; public class Animal{ public void eat(){ System.out.println("动物具有吃的能力"); } }
查看全部 -
创建本类对象时,调用的方法为本类方法
创建子类对象时,调用的方法为子类重写的方法或者继承的方法
查看全部 -
package lmr; pubulic class Dogextends Animal{ public static void main(String[] args){ Animal obj1 = new Animal(); Animal obj2 = new Dog(); Animal obj3 = new Cat(); obj1.eat(); obj2.eat(); } }
查看全部 -
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象
查看全部 -
抽象父类
public abstract class Shapes {
double radius;
double longe;
double high;
public abstract double area();
public abstract double perimeter();
public Shapes() {
}
}
Circle子类
public class Circle extends Shapes {
public double area() {
return Math.PI * radius * radius;
}
public double perimeter() {
return 2 * Math.PI * radius;
}
}
Rectangle子类
public class Rectangle extends Shapes {
public double area() {
return longe * high;
}
public double perimeter() {
return (longe + high) * 2;
}
}
main类
public class mainShapes {
public static void main(String[] args) {
Shapes sh1 = new Circle();
sh1.radius = 3.0;
System.out.println("该圆的面积为:" + String.format("%.2f", sh1.area()));
System.out.println("该圆的周长为:" + String.format("%.2f", sh1.perimeter()));
Shapes sh2 = new Rectangle();
sh2.longe = 2.0;
sh2.high = 3.0;
System.out.println("该矩形的面积为:" + sh2.area());
System.out.println("该矩形的周长为:" + sh2.perimeter());
}
}
执行结果
该圆的面积为:28.27
该圆的周长为:18.85
该矩形的面积为:6.0
该矩形的周长为:10.0
发现抽象父类无法创建对象!
查看全部 -
成员变量和局部变量
查看全部 -
程序会给成员变量赋初始值,不会给局部变量赋初始值
查看全部 -
方法内部类:
方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
查看全部
举报