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

简介: final 定义的常量 能在构造函数中初始化  常量我们一般设置为静态的 让所有对象共享这个变量节省内存空间    如果常量是静态的那么 我们再定义的时候就要初始化  因为 静态的常量我们没有初始化赋值 我们要这样  static  final  double PI=3.

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

 

}

 


 

 

 

 

 

 

目录
相关文章
|
7天前
|
Java
Java中的继承和多态是什么?请举例说明。
Java中,继承让子类继承父类属性和方法,如`class Child extends Parent`,子类可重写父类方法。多态允许父类引用指向子类对象,如`Animal a = new Dog()`,调用`a.makeSound()`会根据实际对象类型动态绑定相应实现,增强了代码灵活性和可扩展性。
10 0
|
10天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
14天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
13 3
|
10天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
25天前
|
开发框架 Java API
java反射机制的原理与简单使用
java反射机制的原理与简单使用
17 1
|
1天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
9 1
|
1天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
8 0
|
7天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
10 0
键值之道:深入学习Java中强大的HashMap(二)
|
9天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
13天前
|
安全 Java 调度
深入理解Java中的线程安全与锁机制
【4月更文挑战第6天】 在并发编程领域,Java语言提供了强大的线程支持和同步机制来确保多线程环境下的数据一致性和线程安全性。本文将深入探讨Java中线程安全的概念、常见的线程安全问题以及如何使用不同的锁机制来解决这些问题。我们将从基本的synchronized关键字开始,到显式锁(如ReentrantLock),再到读写锁(ReadWriteLock)的讨论,并结合实例代码来展示它们在实际开发中的应用。通过本文,读者不仅能够理解线程安全的重要性,还能掌握如何有效地在Java中应用各种锁机制以保障程序的稳定运行。