Java的对象、this、参数、static、super、方法重写、抽象类

1.对象
User user1 = new User();
User user2 = user1;
user1和user2引用同一对象,user2对象改变则影响user1.

2.this关键字
在方法内使用this来引用当前的对象。

3.参数传递两种方式
(1)简单类型传递是按值传递,在调用方法时,其参数值的改变不会影响到传递的参数。
(2)对象的传递是按引用传递,在调用方法时,其参数对象的改变会影响到传递的参数对象。对象传递是指向同一个对象。不必指定返回类型
4.static
方法和变量声明为static.
变量为static则为全局变量。所有该类的对象共享同一个static变量。
static方法:仅限调用其它static方法;只能访问static数据;不能引用this,super.
public static void main(String[] args) {
one(32);
TestMain.one(12);
}
static int a = 5;
static int b;
static { //static 代码块,在该类第一次加载时执行且执行一次
b = a * 3;
}
static void one (int x){

System.out.print("x = "+x);
System.out.print(" a = "+a);
System.out.print(" b = "+b);
b = x;
System.out.println(" b = "+b);
}
结果:
x = 32 a = 5 b = 15 b = 32
x = 12 a = 5 b = 32 b = 12

5.super关键字
(1)调用父类的构造函数
(2)super.方法/变量 -- 调用父类的成员(调用被子类隐藏的父类成员)。例如子类和父类的变量一样时,子类会隐藏父类的变量。

6.方法重写
(1)子类重写父类的方法,即有相同的方法名和类型声明。父类的方法被隐藏。用super.method()调用。
(2)若与父类的方法名相同,参数类型或个数不同就是重载,而非重写。
(3)父类变量引用子类对象,变量引用被重写的方法(子类方法)

7.抽象类

(1)声明抽象方法,但不提供方法的实现。而子类必须重写父类的抽象方法。
(2)如果要求子类必须重写父类的方法,则父类应定义为抽象类(abstract)。
看一个实例:

abstract class Figure {

double width;
double length;
double depth;

Figure(double width, double length) {
this.width = width;
this.length = length;
}


abstract double area();// abstract method

}
--------------------------------------------------------------------------------

class Rectangle extends Figure {

Rectangle(double width, double length) {
super(width, length);
}

@Override
double area() {
return width * length;
}

}
--------------------------------------------------------------------------------

class Triangle extends Figure {

Triangle(double width, double length) {
super(width, length);
}

@Override
double area() {
return width * length / 2;
}

}
--------------------------------------------------------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值