-
重写时 方法名 参数类型和个数 返回值类型都要与父类相同
查看全部 -
引用类型转换:
向上类型转换(隐式/自动类型转换)由小到大
向下类型转换(强制类型转换)由大到小
instance of运算符来解决引用对象的类型
查看全部 -
多态:对象的多种形态
引用多态
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象
方法多态
创建本类对象时,调用的方法为本类方法
创建子类对象时,调用的方法为子类重写的方法或继承的方法
查看全部 -
一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
查看全部 -
public class HelloWorld {
// 定义静态变量score1
static int score1 = 86;
// 定义静态变量score2
static int score2 = 92;
// 定义静态方法sum,计算成绩总分,并返回总分
public static int sum() {
return score1 + score2;
}
public static void main(String[] args) {
// 调用静态方法sum并接收返回值
int allScore = HelloWorld.sum();
System.out.println("总分:" + allScore);
}
}
查看全部 -
package com.work; public class People { public void language() { } }
package com.work; public class China extends People { public void language() { System.out.println("你好"); } }
package com.work; public class America extends People { public void language() { System.out.println("hello"); } }
package com.work; public class Initail { public static void main(String[] args) { // TODO Auto-generated method stub People america = new America(); People china = new China(); america.language(); china.language(); } }
查看全部 -
最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。再次创建对象执行了其他初始化块
查看全部 -
super关键字:
在对象的内部使用,可以代表父类对象
访问父类的属性:super.age
访问父类的方法:super.eat()
子类的构造的过程当中必须调用其父类的构造方法,如果显示的调用构造方法,必须在子类的构造方法的第一行。
查看全部 -
final关键字:
可以修饰类,方法,属性和变量
修饰类表示不能被继承
修饰方法表示不能被重写
修饰属性表示类的初始化属性必须有值或者在构造方法中赋值
修饰变量表示只能赋一次值
查看全部 -
继承的初始化顺序:
初始化父类再初始化子类
先执行初始化对象中的属性,在执行构造方法中的初始化
查看全部 -
方法的重写:
子类对继承父类的方法不满意,可以重写父类继承的方法,当调用方法时会优先调用子类的方法
语法规则:
返回值类型,方法名,参数类型及个数都要与父类继承的方法相同
查看全部 -
继承:继承是类与类的一种关系,Java中的继承是单继承
继承的好处:子类拥有父类的所有属性和方法,实现代码复用
查看全部 -
之前未听说过这个概念
查看全部 -
package com.sikao; public abstract class Shape { public abstract void perimeter(); public abstract void area();}
package com.sikao; public class Rectangle extends Shape { double lon = 10; double shor = 5; double perimeter = (lon+shor)*2; double area = lon*shor; @Override public void perimeter() { // TODO Auto-generated method stub System.out.println("Rectangle矩形的周长是:"+perimeter); } @Override public void area() { // TODO Auto-generated method stub System.out.println("Rectangle矩形的面积是:"+area); } }
package com.sikao; public class Circle extends Shape { double R = 5; double PI = 3.14f; double perimeter = 2*PI*R; double area = PI*R*R; @Override public void perimeter() { // TODO Auto-generated method stub System.out.println("Circle圆形的周长是:"+perimeter); } @Override public void area() { // TODO Auto-generated method stub System.out.println("Circle圆形的面积是:"+area); } }
package com.sikao; public class Initail { public static void main(String[] args) { // TODO Auto-generated method stub Shape rectangle = new Rectangle(); rectangle.perimeter(); rectangle.area(); Shape circle = new Circle(); circle.perimeter(); circle.area(); } }
Rectangle矩形的周长是:30.0
Rectangle矩形的面积是:50.0
Circle圆形的周长是:31.400001049041748
Circle圆形的面积是:78.50000262260437
查看全部
举报