前面一个多月工作室接了一个项目,就学Vue去了。Java这边就停更了一段时间,还望见谅。
在Vue这边还是啰嗦两句吧,不愿意看的话直接跳过即可。Vue上手很快,前端开发起来也是非常快的(不考虑UI的情况下),目前Vue比React和Angular好,但是公认缺陷是社区不够成熟(也接触了uni-app,这是基于Vue的一个跨平台开发技术,但是uni的UI很low,能用的UI框架少之又少)。这个项目的第一期完成之后(后面这个项目如果接着做的话,Vue和Java都接着更),最近也反省了一下自己学的东西,多而杂反而一门不精。故今日重回Java Web这条路上来了,相信我您能和我一样在Java这条路上砥砺前行。默默地说一句:“Java真香~”
1、 补充内容
这篇文章主要弥补上面一篇没有讲到的一些知识点,上篇链接:Java的继承与内存结构(上)——有C++基础的Java入门(六)
- 回顾语法:class A extends B { },A为子类,B为父类(也称为基类或SuperClass),extends翻译过来有扩展的意思,就是子类是对父类功能的扩展。
- Java的继承性只支持单继承: 一个子类只能一个父类。反过来的话,一个父类可以有多个子类。但是可以通过把类定义成接口的方式来打破Java的单继承性。
- 子类和父类是一个相对的概念,子类不属于父类。
2、 四种权限修饰符
下面只讲与C++的区别。
(1)子类覆盖父类的方法:子类中定义的覆盖函数与父类同名,一般权限为public,即可复写函数。
(2) default 权限修饰符:default表示默认,不仅本类访问,而且是同包可见(同包的意思就是在同一级的文件夹)。
3、 super关键字
(1) 用于访问父类中定义的属性
(2) 用于调用父类总定义的成员方法
(3) 用于在子类构造方法中调用父类的构造器
(4) 当子类和父类中出现同名的成员,可以通过Super来区分
(5) Super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的表示。
实例:
class Person {
protected String name="张三";
protected int age;
public String getInfo() {
return "Name: " + name + "\n"+age: " + age;
} }
class Student extends Person {
protected String name = "李四";
private String school = "New Oriental";
public String getSchool(){ return school; }
public String getInfo() {
return super.getInfo() +"\n"+school: " +school;
} }
public class TestStudent{
public static void main(String[] args){
Student st = new Student();
System.out.println(st.getInfo());
} }