oop 的编程思想与c++一致
创建对象
类的public,protected,default,private
java中的类成员属性——default和protected
封装
快捷键生成get set方法
alt+insert
继承
这里的super很有意思 是父类指针的感觉,如果用c++来写 可能是这样的写法
class BaseTest{
public:
void test(){
cout<<"base"<<endl;
}
};
class Child:public BaseTest{
public:
void test(){
cout<<"Child"<<endl;
}
};
BaseTest base;
Child child;
base.test();
child.test();
child.BaseTest::test();
跟c++构造函数的规则一样,当有了有参构造时候,编译器不再提供默认的无参构造,此时子类继承的时候需要显示调用父类的有参构造
快捷键 alt+insert; override;
多态
instanceof
类型转换
public class Person {
int age;
String name;
public void test(){
}
}
public class Student extends Person {
@Override
public void test() {
super.test();
}
}
public class Teacher extends Person{
}
public class Application {
public static void main(String[] args) {
Person person = new Student();
System.out.println(person instanceof Object);
System.out.println(person instanceof Student);
System.out.println(person instanceof Teacher);
System.out.println(person instanceof Person);
}
}
结果如下
true //所有类继承Object 所以为真
true //person就是Stundent 所以为真
false //都继承Person 但是之间没有联系
true //继承Person 为真