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

 

}

 


 

 

 

 

 

 

目录
相关文章
|
1月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
254 0
|
2月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
152 1
|
1月前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
196 0
|
1月前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
231 7
|
2月前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
74 5
|
2月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
136 5
|
2月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
174 3
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
10月前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
533 15