java学习 java 的继承机制 暑假第三天

final 定义的常量 能在构造函数中初始化

常量我们一般设置为静态的 让所有对象共享这个变量节省内存空间

如果常量是静态的那么 我们再定义的时候就要初始化 因为 静态的常量我们没有初始化赋值 我们要这样

static final double PI=3.141592653

java中的继承机制用 exteds标识 ... java中不允许多重继承

方法的重载发生在一个类 方法的覆盖发生在 基类与子类

java提供了一种访问被覆盖的父类方法的一种机制 super 表示父类 我们可以访问父类被覆盖的方法

每个子类的构造函数 第一句隐含调用了 supper()构造父类 如果父类没有 无参数的构造函数 那么在子类编译的时候就可能报错 我们应该 在子类的构造函数

第一行 supper(参数 )

构造方法不能被继承 C++ java都一样

Fish从Animal继承而来

Animal an;

Fish b=new Fish();

an=b; //我们再调用函数的时候 调用的是Fish类的方法 因为我们是吧Fish类的引用赋值给了 Animal对象 这根C++ 基类的指针可指向子类 原理一样

多态性在C++中是父类的指针可以指向子类 根据子类的不同调用不同的方法

java中就是 吧不同子类 对象引用赋给 基类对象 传递谁的引用我们就调用谁的方法 如果子类有调用子类 子类没有调用父类

java的一个运算符 instanceof判断对象是否是类的一个实例 子类对象是父类的一个事例 子类也是本身的一个实例

例如 Animal An ;

if(An instanceof Animal)

{

....... 判断对象是否是类的一个实例

}

例子 :

class Animal
{
int height ,weight;
void breath()
{
System.out.println("breath");
}
void eat()
{
System.out.println("eat");
}

}
class Fish extends Animal
{

}

class Integration //要执行的类是包含 main函数的类 不是非要加public
{
public static void main(String []args) //参数一定要加
{
Animal x=new Animal();
Fish y=new Fish();
x.eat();
y.eat();
x.breath();
y.breath();

}

}

面向对象求面积:

class Function
{
float width,height;
Function(float x,float y)
{
this.width=x;
this.height=y;
}

float area()
{
return (width*height);
}


void show()
{
System.out.println("area is" + area());
}
}

public class Rectangle
{

public static void main(String []args)
{
Function p=new Function(3,3);
p.show();

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值