Java学习笔记 1 类、包和接口(一)
类
类------------表明对象的属性和行为
Java 中, 类的变量称”字段“(field、域) 函数称”方法“
类的定义
类头
class 类名
类体
花括号 字段和方法
-
-
字段:属性
-
方法:行为
定义类似c++
构造方法(构造函数)
默认构造方法 创建对象
均类似c++
Person p = new Person("xiaoming");
p与对象属于引用的关系,有点类似c++中的指针
- 使用对象
.
例:p.sayHello();
方法的重载
类似c++函数重载,函数名相同,参数列表不一样
构造方法也能重载
this的使用
类似于c++里的this
,不过要记得Java里都是用.
如果在构造方法中用this
调用另一构造方法,则这条调用语句当为第一句,例:
Person(){
this(0);
}
this
指该对象本身
注意:
- 通过
this
还可以引用该类父类中定义的字段和方法 - 不能通过this来引用类变量(static filed),类方法(static method)
类的继承
Java不支持多重继承,一个类只能有一个父类。
父类实际上是所有子类公共字段和公共方法的集合。
Java中,所有的类都是直接或间接地继承 java.lang.Object
得到的
派生子类
关键字 extends
子类可以从父类继承所有非 private 的属性和方法作为自己的成员
class SubClass extends SuperClass{
...
}
查了一下,子类不能继承父类的私有属性,但是如果子类继承的公有方法影响到了父类的私有属性,那么这个私有属性是能够被子类使用的。
字段的继承、隐藏和添加
子类可以继承父类的所有字段(无private或static)
子类定义一个父类中已有的完全相同的变量,称为字段的隐藏
添加就正常添加
方法的继承、覆盖与添加
类似字段
在Java5以上版本中,一般在覆盖的方法前加上一个标记 @Override
,以指明该方法是覆盖父类的方法,可以让编译器检查。
方法的重载
就是加上呗
super 的使用
关键字super
指父类。
子类中,要是想访问父类的成员可以用super
。super
在某些时候与this
的作用相同。
使用super
:
- 访问父类的字段和方法。在父类的字段和方法被隐藏或覆盖时,可以用
super
来访问。 - 使用父类的构造方法必须用
super
。使用时super()
必须放在第一句。 - 注意:
super
也可以访问到间接父类中的对象或方法- 和
this
一样不能在static
环境中使用
父类对象和子类对象的转换
父类对象和子类对象之间可以强制转换。
子类向父类转换是可以的,其实是简单赋值。
父类向子类转换比较复杂。
参考 java父类强制转换为子类 喵-CSDN博客 和Java子类与父类之间的对象转换(说明继承)飘过的春风-CSDN博客