java中通过关键字private,protected和public实现封装。
static的用法
static变量只分配一次内存,static的变量或方法可以通过类名直接访问,static方法不能访问同类中的实例变量或实例方法。
final
1) final类不能被继承
2)final方法不能被子类重写
3)final变量不可更改
重写和重载
重写是在子类和父类之间,方法名和参数完全一样,只是里面的实现不一样;
重载是在同一个类里面,写相同的方法名,不同的参数个数或参数类型。
访问控制修饰符:
继承
1) 子类拥有父类非private属性和方法
2) 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
3) 子类可以用自己的方式去实现父类的方法
abstract类 和 abstract方法
1)抽象类不能被实例化,但是子类可以被实例化。
2)抽象方法只需要声明,不需要实现,让子类去实现
package lesson01;
abstract public class Student {
public int getAge(){
return 0;
}
}
package lesson01;
public class Student_ABC extends Student {
public int getAge(){
return 15;
}
}
package lesson01;
abstract public class Student {
abstract public int getAge();
}
package lesson01;
public class Student_ABC extends Student {
public int getAge(){
return 15;
}
}
接口
接口无法被实例化,一个实现接口的类,必须实现接口内所描述的所有方法
package lesson01;
public interface Student {
public int getAge();
}
package lesson01;
public class Student_ABC implements Student {
public int getAge(){
return 15;
}
}
递归就是自己调用了自己
package lesson01;
public class MyClass {
// N! = N*(N-1)*(N-2)*...2*1
// 5!= 5x4x3x2x1
public static int factorial(int N){
if(N <= 1)
return 1;
else{
return (N*factorial(N-1));
}
}
public static void main(String[] args) {
System.out.println(factorial(15));
}
}