首页 > 编程语言 >Java面向对象简述

Java面向对象简述

时间:2024-11-02 15:47:09浏览次数:3  
标签:Java name 继承 接口 面向对象 简述 属性 public String

Java是一门面向对象的编程语言,那么我们要先了解什么是面向对象。

编程语言分为:面向机器语言(例如汇编语言),面向过程语言(例如c语言),以及面向对象语言。

而面向对象编程主要体现在:封装性,继承性和多态性。

封装性:将数据和对数据的操作封装在一起,通过抽象,形成一般概念(类)。

举例而言,公交车,汽车,摩托车,都是机动车类,而机动车类就是从实例中抽取出来具有共同的属性和功能形成的概念,具体的轿车是机动车类的实例对象。一个对象将自己的数据和对这些数据的操作合理、有效地封装在一起,例如,每辆轿车调用“减速”改变的都是自己的运行速度。

继承性:子类可以继承父类的属性和功能,既继承了父类的所有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。例如,机动车类自然继承了交通工具的属性和功能,同时又增添机动车类独有的属性和功能。

多态性:有两种意义 上的多态。一种是操作名称的多态,目有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同。例如,让一个人执行“求面积”操作时,他可能会问你求什么面积。操作名称的多态性,是指可以向操作传递不同消息,以便让对象根据相应的消息来产生一定的行为。另一种是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为。例如,狗和猫都具有哺乳类动物的功能一“喊叫”,但是,狗“喊叫”产生的声音是“汪.....”,猫“喊叫”产生的声音是“喵.....”。.

Java语言与其他面向对象语言一样,引入了类的概念,类是用来创建对象的模板,它包含被创建对象的状态描述和方法的定义。Java是面向对象语言,它的源程序由若干个类组成,源文件是扩展名为. java的文本文件。因此,要学习Java编程就必须学会怎样去写类,即怎样用Java的语法去描述一类事物共有的属性和功能。属性通过变量来刻画,功能通过方法来体现,即方法操作属性形成一定的算法来实现一个具体的功能。类把数据和对数据的操作封装成一个整体。

下列为pet类的示例:

public class Pet {//定义一个名为Pet的公共类
    private String name;//定义属性,使用private修饰符,意味着该属性只能在类内部访问。
    private int age;
    private float weight;
    private boolean vaccined;
    private String color;
    
    public void setName(String name){//定义一个setName方法,用于设置宠物的名字,传入参数为name。
       
            this.name = name;
        
    }
    public String getName(){//定义一个getName方法,返回值类型为String,用于获取宠物的名字。
        return this.name;
    }
    // override 
    Pet(){
        
    }
    Pet(String name,int age,String color,float weight){//定义一个带参数的构造方法,允许在创 
 //建Pet对象时指定名字、年龄、颜色和体重。
        this.name = name;
        this.age = age;
        this.color = color;
        this.weight = weight;
        this.vaccined = false;
    }
}

 定义类之后重要的是类的继承与接口的实现。

继承是一种由已有的类创建新类的机制。利用继承,可以先编写一个共有属性的一般类,再根据一般类编写具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加新的状态和行为。注意java不支持多重继承(子类只能有一个父类)

public class Cat extends Pet {
    
    Cat(String name,int age,String color,float weight){
        super(name,age,color,weight);//继承pet类
      
    }
    public void speak(){//新的属性
        System.out.println("miao miao mi mi miao");
    }
    
    
      
}

 而为了克服单继承的缺点,java使用了接口,一个类可以实现多个接口。

使用关键字interface来定义接口。例如:

public interface Speakable {
    public void speak();
}

之后一个类通过使用关键字implements声明实现接口,例如:

public class Cat extends Pet implements Speakable{
    }

接口声明时,如果关键字interface前面加了public,就称这样的接口是一个public接口。public接口可以被任何一个类声明实现。如果一个接口不加public修饰,就是友好接口类,友好接口可以被与该接口在同一包中的类声明实现。

如果父类实现了某种接口,那么子类也自然实现该接口,子类不用使用implements再声明。

接口也可以被继承,即通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public的,所以子接口继承父接口中的全部方法和常量。

标签:Java,name,继承,接口,面向对象,简述,属性,public,String
From: https://blog.csdn.net/2301_81697152/article/details/143419590

相关文章

  • 基于Java+vue实现高校学科竞赛项目系统详细设计
    基于Java+vue实现高校学科竞赛项目系统详细设计......
  • java计算机毕业设计基于的智能ERP管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的高速发展,企业管理面临着日益复杂的挑战与机遇。在当今的商业环境下,企业规模不断扩大,业务种类日益繁多,数据量呈爆炸式增长。传统的......
  • 【查漏补缺】java基础知识
    文章目录一、方法二、修饰符三、StringBuilder与StringBuffer四、日期相关知识总结小感悟:通过小组考核,发现了较多未好好理解的知识点,以及一些没有赶上进度而没有学习的知识点,同时感觉到自己在编程思想上的欠缺,可能猛然间不知道如何下手,也会在一个较为简单的地方不知......
  • Java复习29(PTA)
    人口统计分数20全屏浏览切换布局作者 孙晨霞单位 河北农业大学本题运行时要求键盘输入10个人员的信息(每一个人信息包括:姓名,性别,年龄,民族),要求同学实现一个函数,统计民族是“汉族”的人数。函数接口定义:publicstaticintnumofHan(Stringdata[])其中data[]是......
  • Java 集合一口气讲完!(下)p\··/q
    Java映射Java集合教程-Java映射映射表示包含的集合键值映射。Map是一个集合,其中每个元素表示一个键值对作为<key,value>;.<key,value>对也称为映射中的条目。键和值必须是引用类型。映射由 Map<K,V> 接口的实例表示,它不是继承自 Collection 接口。映射不允许任何重......
  • javaweb基于JSP+Servlet开发简单的家居购物商城系统源码 大作业 课程设计
    ......
  • Java面试题中高级进阶(JVM调优篇)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!调优命令有哪些?常见调优工具有哪些?MinorGC与FullGC分别在什么时候发生?你知道哪些JVM性能调优参数(简单版回答)?对象一定分配在堆中吗?有没有了解逃逸分析技术?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键......
  • 大话Java系列-集合框架与中国十八般冷兵器的碰撞,刀,枪,剑,弓,戟,斧,钩,叉,锤,棍,鞭,锹
    文章目录Java集合框架的主要集合类与十八般冷兵器的碰撞1.ArrayList——刀2.LinkedList——枪3.HashSet——剑4.LinkedHashSet——弓5.TreeSet——戟6.HashMap——斧7.LinkedHashMap——钩8.TreeMap——叉9.PriorityQueue—......
  • Java面试题中高级进阶(JVM调优篇)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!调优命令有哪些?常见调优工具有哪些?MinorGC与FullGC分别在什么时候发生?你知道哪些JVM性能调优参数(简单版回答)?对象一定分配在堆中吗?有没有了解逃逸分析技术?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***......
  • LeetCode100之滑动窗口最大值(239)--Java
    1.问题描述        给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。        示例1输入:nums=[1,3,-1,-3,5,3,6......