`
txf2004
  • 浏览: 6884902 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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();

}

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics