Java和C++的区别
-
C++中的virtual虚函数,Java中不用什么前缀,子类直接重写即可,用@Override作标记
-
C++中的纯虚函数,Java中加abstract前缀,且类也要声明为抽象类,C++不用声明
-
Java中的接口,其实就是一个抽象类,里面都是常量和abstract方法,记住,都是常量和abstract方法,都是常量和abstract方法
-
C++中通过类名访问静态成员与Java不一样,
- C++的格式是 类名::成员变量名
- Java的格式是 类名.静态成员变量名
-
还有,C++类名::成员变量名,其中,只要是类中公有的成员,都可以访问(不晓得为啥,明明对象都还没有,怎么来的内存),而Java只能访问静态成员。
-
问题:重写了接口里面的abstract方法之后怎么调用?
答:new一个实现类就行了 -
C++中对象可以是栈区
继承的那些事
==子类继承父类的变量和函数(理解:只能继承财富和技能,继承不了身体)==
父类和子类有重名的定义时:
子类的可以直接访问了,父类要在前加this
父类的虚函数可以重写或者不重写(不重写就用父类的,不用想都明白),但纯虚函数必须重写。
只有纯虚函数没有函数体以外,其他的函数都要有函数体,不然会报函数未定义的错误
类成员的访问属性

继承九宫格

之前你一直不理解的问题:继承不是公有属性时,怎么理解?
答:若继承为保护属性,能改变的只是基类中的公有属性,若继承为私有属性,能改变的只是基类中的(公有属性/保护属性),看上面那表就知道,一级压一级,看完上面的表之后再看上一点那表你就理解了