JAVA:面向对象1

类和对象

public String sayHello(){
//修饰符/ /返回值类型/ /方法名/ /方法的参数/
 return "hello,world!"; return 返回值;
 }

       /*
        void 可以不写返回值,return一个空就行 : return;
        return 结束方法,返回一个结果
        break 结束循环,结束switch

        */
静态方法:
      直接类名.方法名就可以调用成功

非静态方法需要实例化:
    对象类型 对象名=new 对象值;

形式参数和实际参数

其类型要对应:

public static void main(String[] args){

        int add = Demo3.add(a:1, b:2);实际参数 

        System.out.println(add);

}

public static int add(int a(形式参数), int b(形式参数)){

        return a+b;

}

值传递

一个类里面只有属性和方法

类是抽象的,需要实例化

类实例化之后会返回一个自己的对象

对象就是一个类的具体的实例

以类的方式组织代码,以对象的组织封装数据

对象的属性:student.name

对象的方法:stodent.sleep()

构造器

特点:1、必需和类的名字相同

           2、必须没有返回类型,也不能写void

1、一个类即使什么都不写,它也会存在一个方法

2、使用new关键字,本质是在调用构造器

3、有参构造:一旦定义了有参构造,无参构造就必须显示定义

4、alrt+insert会生成构造器(constructor)

封装

类:private

给私有属性提供一些可以操作的方法

提供一些public的get(获得数据)和set(设置数据)的方法

alt+insert选中getset就可以自动生成

继承

关键词:extends

person是父类

student是子类

子类是父类的扩展

子类继承了父类的所有东西除了私有的private

在java中所有的类都默认直接或者间接的继承object类

Super

调用父类的构造器必须要在子类构造器的第一行,否则会报错!!

方法的重写

前提:需要有继承关系,子类重写父类的方法!

        1.方法名必须相同,方法体可以不同

        2.参数列表也必须相同

        3.修饰符:范围可以扩大但是不能缩小:public>protected>default>private

        4.抛出异常:范围可以被缩小但是不能扩大:classNotfoundException --> Exception(大)

重写都是方法的重写和属性无关

父类的引用指向了子类是可以的

alter+insert选择override重写方法

多态

instanceof

instanceof关键字,用来判断前后类型是否相似

Static关键字详解

非静态方法可以调用静态方法里的东西而静态方法只能调用静态方法!

abstract抽象类

抽象方法只有方法名,没有方法的实现

抽象类的所有方法,继承了它的子类都必须要实现它的方法,除非子类也是抽象类

接口的定义与实现

interface

一个类实现多个接口 称之为多继承 通过implements

内部类

一个java类中可以有多个class,但是只能有一个public class

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些想法:关于行人检测与重识别

本文主要是介绍我们录用于 ECCV18 的一个工作:Person Search via A Mask-guided Two-stream CNN Model. 这篇文章着眼于 Person Search 这个任务,即同时考虑行人检测(Pedestrian Detection)与行人重识别(Person Re-ide…

数据库-期末考前复习-第4章-数据库安全性

1、掌握实现数据库安全性控制的常用方法和技术有。 序号常用方法和技术概括1访问控制通过授权和权限管理来限制用户对数据库的访问和操作。可以使用角色和用户管理来定义不同用户的权限级别,并使用访问控制列表(ACL)来控制用户对数据库对象的…

Vue:使用IDEA开发Vue的相关配置

一、IDEA无法识别.vue文件 1、IDEA 添加Vue插件 2、添加Vue配置 File | Settings | Editor | File Types 找到 HTML 文件 在下面点号 输入*.vue 二、IDEA无法创建.vue文件 1、问题 在开发过程中,发现创建文件的界面,没有vue模板 2、相关配置 Fi…

2024年01月IDE流行度最新排名

点击查看最新IDE流行度最新排名(每月更新) 2024年01月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多,这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

Java将word转换为文本

在Java中&#xff0c;你可以使用Apache POI库来读取Word文档并提取文本内容。你可以在 Maven 项目中添加以下依赖&#xff1a; <!-- Apache POI for Word 2007 (.docx) --> <dependency><groupId>org.apache.poi</groupId><artifactId>poi</…

基于JAVA的学校热点新闻推送系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 新闻类型模块2.2 新闻档案模块2.3 新闻留言模块2.4 新闻评论模块2.5 新闻收藏模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 新闻类型表3.2.2 新闻表3.2.3 新闻留言表3.2.4 新闻评论表3.2.5 新闻收藏表 四、系统展…

Mysql基础总结

一、MySql基础 MySQL常见面试题 一、索引相关 &#xff08;1&#xff09;什么是索引? 索引是一种数据结构&#xff0c;可以帮助我们快速的进行数据的查找。 &#xff08;2&#xff09;索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关&#xff0c;…

Redis优异的性能是如何实现的?

Redis是一款开源的键值存储系统&#xff0c;它以其高性能而闻名。Redis能够提供极高的读写速度&#xff0c;主要得益于以下几个方面的设计和实现&#xff1a; 1. 全内存数据存储 Redis将所有数据存储在内存中&#xff0c;这意味着所有的读写操作都是直接对内存进行&#xff0…

vue中$nextTick作用和实例

为什么要使用nextTick&#xff1f; vue中DOM更新是异步执行&#xff0c;相当于我们在修改数据的时候&#xff0c;视图是不会立即更新的&#xff0c;会先把新的数据攒一赞&#xff0c;例如假如v-for更新这三个数据item1和item2和item3&#xff0c;按照vue的特性dom更新的特性会…

C++ 具名要求-基本概念-指定该类型对象可以从右值构造

指定该类型对象可以从右值构造 指定该类型的实例可以从一个右值实参构造。 要求 以下情况下&#xff0c;类型 T 满足可移动构造 (MoveConstructible) &#xff1a; 给定 T 类型的右值表达式 rv任意标识符 u 下列表达式必须合法且拥有其指定的效果 表达式后条件T u rv;u…

FPGA项目(13)——基于FPGA的电梯控制系统

1.摘要 随着科技的发展&#xff0c;电梯早在上个世纪就已进入人们的生活。对于电梯的控制&#xff0c;传统的方法是使用继电器——接触器控制系统进行控制。随着EDA技术的发展&#xff0c;FPGA已广泛应用于各项电子设计中&#xff0c;本设计即利用FPGA来实现对电梯控制系统的设…

助力打造智慧数字课堂,基于YOLOv7【tiny/l/x】开发构建教学课堂场景下学生课堂行为检测识别分析系统

近年来&#xff0c;随着行为检测技术的发展&#xff0c;分析学生在课堂视频中的行为&#xff0c;以获取他们的课堂状态和学习表现信息已经成为可能。这项技术对学校的教师、管理人员、学生和家长都非常重要。使用深度学习方法自动检测学生的课堂行为是分析学生课堂表现和提高教…

【数值分析】线性方程组的迭代方法,jacobi,高斯赛德尔GS,SOR

线性方程组的迭代解法 2024年1月1日 #analysis 文章目录 线性方程组的迭代解法基本迭代法Jacobi迭代高斯-赛德尔&#xff08;GS&#xff09;迭代SOR迭代 迭代的收敛性分析和误差估计下链 基本迭代法 Jacobi迭代 A D − L − U AD-L-U AD−L−U D x ( k 1 ) ( L U ) x ( …

【LMM 006】LLaVA-Plus:可以学习如何使用工具的多模态Agent

论文标题&#xff1a;LLaVA-Plus: Learning to Use Tools for Creating Multimodal Agents 论文作者&#xff1a;Shilong Liu, Hao Cheng, Haotian Liu, Hao Zhang, Feng Li, Tianhe Ren, Xueyan Zou, Jianwei Yang, Hang Su, Jun Zhu, Lei Zhang, Jianfeng Gao, Chunyuan Li 作…

【大数据面试知识点】Spark的DAGScheduler

Spark数据本地化是在哪个阶段计算首选位置的&#xff1f; 先看一下DAGScheduler的注释&#xff0c;可以看到DAGScheduler除了Stage和Task的划分外&#xff0c;还做了缓存的跟踪和首选运行位置的计算。 DAGScheduler注释&#xff1a; The high-level scheduling layer that i…

大数据 - Hadoop系列《三》- HDFS(分布式文件系统)概述

&#x1f436;5.1 hdfs的概念 HDFS分布式文件系统,全称为:Hadoop Distributed File System。 它是一个文件系统&#xff0c;用于存储文件&#xff0c;通过目录树来定位文件&#xff1b;其次&#xff0c;它是分布式的&#xff0c;由很多服务器联合起来实现其功能&#xff0c;集…

(五)分文件编程

文章目录 为什么要引入分文件编程.C文件怎么添加.H文件怎么书写以及如何进行链接.H书写格式&#xff1a;“有头有尾标识符”例如&#xff08;timer.h) .H链接链接到头文件所在路径的文件夹路径即可 提供一个分文件编程的一种代码最后附上视频演示 为什么要引入分文件编程 C程序…

neovim调试xv6-riscv过程中索引不到对应头文件问题

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com&#xff0c;github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家访问。 和这篇文章neovim调试linux内核过程中索…

2024最新前端React面试题:JSX是什么,它和JS有什么区别

JSX是什么&#xff0c;它和JS有什么区别 回答思路&#xff1a;1.编写方式--->2.分别是什么&#xff1f;--->3.分别是怎么编译的&#xff1f;1.编写方式2.分别是什么&#xff1f;3.分别是怎么编译的&#xff1f; 回答思路&#xff1a;1.编写方式—>2.分别是什么&#x…

中国电科网安C++开发工程师校招一面面经

本文介绍2024届秋招中&#xff0c;中国电子科技网络信息安全有限公司的C/C开发工程师岗位一面的面试基本情况、提问问题等。 10月投递了中国电子科技网络信息安全有限公司的C/C开发工程师岗位&#xff0c;并不清楚所在的部门。目前完成了一面&#xff0c;在这里记录一下一面经历…