一、构造方法
创建对象时调用
1、创建
(1)和类同名 (2)不加返回值类型声明
public class Phone{
String brand;
String memory;
String size;
// 构造方法
Phone(String brand, String memory, String size){
this.brand = brand;
this.memory = memory;
this.size = size;
} }
注意:
a.this相当于python中的self
b.可使用ide的右键快捷生成构造方法
2、调用和使用
类名 对象名称 = new 类构造方法(参数)
默认值:
byte short int long char 默认值是0
float double 默认值0.0
boolean 默认值false
剩余类型 null
二、方法
方法分为两类,方法执行需要的数据来源
全部来自方法参数,是static方法
部分来自于对象内部,对象方法
对象方法不需要加对象.字段调用自身字段,因为直接和对象绑定;对象方法不需要加static
三、四种变量
1、静态变量
语法:static 变量类型 变量名 = 变量值
调用:类名.静态变量
所有对象生成后该变量都一致,可以理解为与类所绑定。若通过一个对象更改它的值,所有对象相应的值也会改变。
作用范围:从类加载开始,到类卸载为止
2、参数变量
python中形式变量
作用范围:方法调用开始到方法调用结束
3、局部变量
方法内部定义的变量,必须赋值
作用范围:从定义开始,到包围它的}结束
4、成员变量(对象变量)
- 对象的属性(字段)
- 不赋值,也有默认值
- 作用范围:从对象创建开始,到对象不能用为止
- 和静态变量的区别,对象变量是对象私有的,而静态变量是所有对象共享的
四、继承
1、基本语法
继承可以减少重复代码,代码的可维护性变高
class 子类 extends 父类{}
子类可继承父类的字段和方法,但是不能继承构造方法。如果父类有带参构造,子类必须通过super方法调用父类的带参构造。
如以下代码,B类调用了父类的构造方法。获得了父类字段和方法。
public class Test {
public static void main(String[] args) {
B b = new B("b");
b.test();
}
}
// 父类
class A {
String name;
A(String name){
this.name = name;
}
void test(){
System.out.println("调用父类方法");
}
}
class B extends A{
// 使用super方法调用A的构造方法
B(String name) {
super(name);
}
}
2、特点
- 单继承
子类只能继承一个父类 - Object,是其它类型直接或者间接的父类型,最顶层父类型。
在生成类的时候,默认继承Object - 子类和父类、祖先类型之间,可以用“是一个”的关系来表达
网友评论