中国矿业大学-JAVA期末备考

JAVA里面,“==”和“equals"的区别是什么呢?

1."=="操作符用于比较两个对象的引用是否相等。也就是说,它会检查两个对象是否指向内存中的同一个地址。如果两个对象的引用完全相同,则"=="返回true;否则返回false。

2."equals"是一个方法,它用于比较两个对象的内容是否相等。

JAVA三种基本控制结构:顺序,选择,循环 

1.什么是类?

类就是将我们自然界中的事物的属性特点和行为特点抽象封装到类当中,反映这类事物的特点和功能。

2.类的成员组成?

包括域变量和成员方法

3.接口是否为类的成员?

接口不是类的成员,是一种特殊的类,不用class,而用interface。

什么是静态域变量(类变量)和实例域变量(对象变量),静态方法和实例方法?类的控制方式

1.对于域变量和成员方法都可以用static来修饰,static修饰的域变量称为类变量,static修饰的方法称为类方法,因为它们可以通过“类名.”来调用。没有被static修饰的域变量和成员方法称为实例变量(可以在程序中直接调用)和实例方法。 2.static是Java中的一个关键字,当它用在方法或变量前面时,表明这些方法或变量属于类本身,而不属于类的任何一个实例。去掉static,必须对象实例化才能调用【具体例子参照我的博客JAVA- n的阶乘Java版】3.静态方法中不能使用this与super
(因为静态变量的声明周期长,其在类加载时创建,在没有对象存在时静态变量就已经存在,故不能在静态方法中调用非静态变量或方法)4.静态方法中(static)只能 直接 使用静态成员(静态属性和静态方法)非静态成员可以访问静态的成员上述解决方法:​在Java中,使用关键字static将方法或变量声明为静态。静态方法和变量属于类本身,而不是属于类的实例对象。当使用静态方法时,只能直接访问同样被声明为静态的成员变量。在你提供的代码中,height是一个非静态变量,无法从静态方法中直接访问。法1:将height和width变量声明为静态变量:private static int height;
private static int width;public static void drawrect() {// 方法内部的代码不变
}法2: 将drawrect方法中的height和width参数传递给它:public static void drawrect(int height, int width) {// 方法内部的代码不变
}// 调用方法时传递参数
drawrect(height, width);选择哪种方法取决于你的需求。如果height和width是整个类的共享属性,可以将它们声明为静态变量。如果它们在每次调用drawrect时都有可能不同,可以将它们作为参数传递给方法。
​

什么是对象?如何创建对象?什么是对象变量?如何对对象进行初始化?

对象是类的一个实例。new在创建对象的作用:(1)通过new在堆上开辟一个对象空间,将类当中的域变量跟成员方法复制到对象空间当中;(2)通过new来调用构造方法来初始化对象;(3)将对象空间的首地址赋值给对象变量。对象变量就是指对象的首地址,通过构造方法对对象进行初始化。 

什么是构造方法?构造方法的特点与作用?

构造方法:(1)在一个类中方法名与类名相同的方法;(2)构造方法不是通过对象来调用,而是通过new运算符来调用;(3)构造方法是一种特殊的成员方法,它没有返回值也不能写void

构造方法特点:可以被重载,当没有在类中定义构造方法时,系统会默认提供一个不带参数的构造方法。作用:初始化对象。

super和this关键字的用法?

 this用在当前类,当前类的一个默认的对象,可以通过this来调用当前类的属性和成员方法,也可以直接调用当前类的构造方法的重载方法。super用于一个类的子类中,作为父类在子类中的一个默认的对象,通过它来调用父类的成员属性和成员方法,也可以在子类的构造方法里直接调用父类的构造方法。

final修饰类、变量和方法时各有什么特点?

修饰类:这个类不能够被继承。

修饰变量:这个变量值不能改变,成为一个常量。

修饰方法:这个方法不能被覆盖。

如果父类中的方法被声明为final,那么子类将无法重写该方法。如果父类中的方法被声明为static,那么子类也无法通过继承来获取该方法。

父类中说明为private的属性和方法,子类不可直接访问。

接口(抽象类进一步抽象出来的)

接口的方式来帮助类进行多继承 ,接口可以继承

接口:抽象的不能再抽象的类

  1. 只能有方法的声明,不能有方法的实现
  2. 只有抽象方法
  3. 接口变相规定类的行为:
class computer implements product//继承接口
{public int Getprice()//接口的抽象方法在类里面要实现{return 1;}
}

接口和类的区别:

(1)类只能单继承,而接口可以多继承。
(2)类中的方法可以是具体的,也可以抽象的。 接口中的方法都是抽象的。
(3)接口中的方法要用类来实现,一个类可以实现多个接口。

注意:      
1 接口可以继承:一个接口可以继承多个其它的接口

        [修饰符] interface 接口名[extends] [接口列表]
        {
           接口体
        }

        public interface Cookable extends Foodable,Printable

2 接口中的方法要用类来实现 。

        [类修饰符] class类名 [extends子句] [ implements 子句]

        注意:在implements子句中可以包含多个接口类型,各个接口类型之间用逗号隔开

3 一个类可以实现多个接口 。
4  Java接口反映了对象较高层次的抽象,为描述相互似乎没有关系的对象的共性提供了一种有效的手段。

[修饰符] interface 接口名[extends] [接口列表]
{
   接口体
}

public interface Cookable extends Foodable,Printable

[例4-19]  TestInterface.java 接口的使用示例
interface Runner{ public void run();}
interface Swimmer{ public void swim();}
abstract class Animal {abstract public void eat();}class Person extends Animal implements Runner,Swimmer {
//Person是能跑和游泳的动物,所以继承了Animal,同时实现了Runner和Swimmer两个接口public void run() {System.out.println("run");}public void swim(){System.out.println("swim");}public void eat(){System.out.println("eat");}
}
public class TestInterface{public static void main(String args[]){TestInterface t=new TestInterface();Person p=new Person();t.m1(p);t.m2(p);t.m3(p);}public void m1(Runner f){f.run();}public void m2(Swimmer s){s.swim();}public void m3(Animal a){a.eat();}
}

访问权限修饰符

分类:
 
  注:子类可以访问父类的公共和受保护成员,但不能访问父类的私有成员。 

多态 

(1)概念

	一个 事物 的多种形态

(2)代码中的多态(事 —— 方法的重写与重载)    

重写:
    要求:
        发生在继承关系中,子类访问权限修饰符>=父类访问权限修饰符,返回值类型相同,方法名相同,形参列表相同,方法体不同
        
    注意:
        当某个对象重写了父类的方法,对象在调用方法名时,遵循就近原则,会调用子类重写后的方法;当子类未重写方法时,对象调用方法,其会调用父类的方法
        
重载:
    要求:
        发生在同一个类中,方法名相同,形参列表不同
      

(3)代码中的多态(物 —— 对象)


    类A继承与类B
 (父类对象可以看作是大数据类型,子类对象可以看作是小数据类型,其转换情况符合基本数据类型转换原则)
        
        类名A 对象名A = new 类名A();
        
        //子类对象转父类对象,可以自动转换
        类名B 对象名B = 对象名A;
        
        //父类对象转换子类对象,需要强制转换,有风险
        类名A 对象名A2 = (类名A) 对象名B;

  

抽象类( abstract)

抽象方法:访问权限修饰符 abstract 返回值类型 方法名(形参列表);1,抽象方法没有方法体2,有抽象方法的类一定是抽象类
抽象类:访问权限修饰 abstract class 类名{属性方法构造函数}1,子类继承于抽象类,要么重写所有抽象方法,要么自己也是抽象类,抽象方法在子类中必须被实                                            现,否则子类仍是抽象的2,抽象类无法直接创建对象,抽象类必须产生其子类,由子类创建对象。3,抽象类中不一定有抽象方法4,抽象方法一定在抽象类中
[例4-17]  抽象类举例
abstract class Shape 
{  abstract  double  area(); abstract void draw(); }                                         //上述方法对一般图形无法定义其实现
class Rectangle  extends Shape  {
int width;                        int length;                       
public double area() {
//矩型类实现了Shape类的抽象方法area()return width*length;
}
public void draw () {  … …     
//矩型类实现了Shape类的抽象方法draw(),详细可由读者自己完成} }

成员变量和局部变量

成员变量作用域:类内

局部变量:函数体内

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

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

相关文章

uniapp 小程序实现图片宽度100%、高度自适应的效果

因为image组件默认是有宽度跟高度的&#xff0c;所以这个高度不怎么好写 通过load事件来控制图片的高度 话不多说&#xff0c;直接上代码&#xff0c; <image class"img" src"/static/image.png" :style"{ height: imgHeight px }"mode&q…

CentOS 7 服务器上创建新用户及设置用户密码有效期

一、创建用户 1、以 root 用户身份登录到 CentOS 服务器 2、运行以下命令以创建新用户&#xff1a; useradd -m -s /bin/bash username其中&#xff0c;username 是您要创建的新用户的用户名。该命令将创建一个新用户并为其分配一个主目录。3、运行以下命令以设置新用户的密码…

Frame Buffer设备驱动 (ili9488 3.5寸tft屏)

Frame Buffer设备驱动 Frame Buffer设备ili9488介绍驱动编写代码编写ili9488.c设备树修改测试ili9488代码分析 LCD资料下载 Frame Buffer设备 在早期的输出显示设备中&#xff0c;大部分为CRT显示器&#xff0c;随着技术的不断发展&#xff0c;现在大部分使用的是液晶显示器。这…

MySQL视图、用户管理和C语言链接

文章目录 1. 视图1.1 基本使用 2. 用户管理2.1 用户信息2.2 创建用户2.3 修改用户密码2.4 删除用户 3. 数据库的权限3.1 给用户授权3.2 回收权限 4. mysql connect4.1 Connector/C 使用4.2 mysql接口介绍 1. 视图 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一…

百度SEO优化的特点(方式及排名诀窍详解)

百度SEO优化的特点介绍&#xff1a; 百度SEO优化是指对网站进行优化&#xff0c;使其在百度搜索引擎中获得更好的排名&#xff0c;进而获取更多的流量和用户。百度SEO优化的特点是综合性强、效果持久、成本低廉、投资回报高。百度的搜索算法不断更新&#xff0c;所以长期稳定的…

开源任务调度框架

本文主要介绍一下任务调度框架Flowjob的整体结构&#xff0c;以及整体的心路历程。 功能介绍 flowjob主要用于搭建统一的任务调度平台&#xff0c;方便各个业务方进行接入使用。 项目在设计的时候&#xff0c;考虑了扩展性、稳定性、伸缩性等相关问题&#xff0c;可以作为公司…

YOLOv5网络结构图

网络结构图&#xff08;简易版和详细版&#xff09; 网络框架介绍 前言&#xff1a; YOLOv5是一种基于轻量级卷积神经网络&#xff08;CNN&#xff09;的目标检测算法&#xff0c;整体可以分为三个部分&#xff0c; backbone&#xff0c;neck&#xff0c;head。 如上图所示…

【排序算法】详解直接插入排序和希尔排序原理及其性能分析

文章目录 插入排序算法原理细节分析代码实现复杂度分析:稳定性分析:与冒泡排序的对比 希尔排序算法原理细节分析代码实现复杂度分析稳定性分析 总结对比 插入排序 算法原理 插入排序又或者说直接插入排序,是一种和冒泡排序类似的并且比较简单的排序方法&#xff0c; 基本思想…

3、Linux下安装

以下操作仅限于rh系列:支持rpm/yum安装方式&#xff0c;不支持deb/apt安装方式。 以下操作仅限于rh系列&#xff1a;支持rpm/yum安装方式&#xff0c;不支持 deb/apt安装方式。 1、在线下载安装包&#xff1a; wget https://downloads.mysql.com/archives/get/p/23/file/ m…

打造个人专属形象!工业级人物写真生成工具FaceChain开源

简介 FaceChain 是一个可以用来打造个人数字形象的深度学习模型工具。用户仅需要提供最低一张照片即可获得独属于自己的个人形象数字替身。FaceChain 支持在 gradio 的界面中使用模型训练和推理能力&#xff0c;也支持资深开发者使用 python 脚本进行训练推理。 Github链接&…

长短期记忆网络(LSTM)

一. 什么是LSTM Long Short Term Memory&#xff08;LSTM&#xff0c;长短期记忆&#xff09;是一种特殊的递归神经网络。这种网络与一般的前馈神经网络不同&#xff0c;LSTM可以利用时间序列对输入进行分析。 简而言之&#xff0c;当使用前馈神经网络时&#xff0c;神经网络会…

Linux 中如何安全地抹去磁盘数据?

哈喽大家好&#xff0c;我是咸鱼 离过职的小伙伴都知道&#xff0c;离职的时候需要上交公司电脑&#xff0c;但是电脑里面有许多我们的个人信息&#xff08;聊天记录、浏览记录等等&#xff09; 所以我们就需要先把这些信息都删除&#xff0c;确保无法恢复之后才上交 即有些…

MongoDB 索引和常用命令

一、基本常用命令 1.1 案例需求 存放文章评论的数据存放到 MongoDB 中&#xff0c;数据结构参考如下&#xff0c;其中数据库为 articledb&#xff0c; 专栏文章评论 comment 字段名称 字段含义 字段类型 备注 _id ID ObjectId或String Mongo的主键的字段 articlei…

怎么团队合作,协作开发

一、代码托管平台 我是在大一下的一个竞赛中接触到的代码托管平台 那个时候我也算是什么都不会的&#xff0c;不过不得不说这个确实比较重要&#xff0c;对我造成了一些冲击 在我看来&#xff0c;代码托管平台的作用就是在一个中转站&#xff08;仓库&#xff09;上存储我们写…

自己在家给电脑重装系统Win10教程

自己在家怎么给电脑重装系统Win10&#xff1f;Win10电脑系统如果操作时间特别长了&#xff0c;就可能出现卡顿、蓝屏等系统问题&#xff0c;这时候用户就想给电脑重装系统&#xff0c;却不知道重装具体的操作步骤&#xff0c;下面小编给大家详细介绍自己在家给电脑重装Win10系统…

k8s-13 存储之secret

Secret 对象类型用来保存敏感信息&#xff0c;例如密码、OAuth 令牌和 ssh key。 敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活 。 Pod 可以用两种方式使用 secret:作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里 当 kubelet 为 pod 拉…

github 中关于Pyqt 的module view 操作练习

代码摘自&#xff0c;Pyside6 中的示例代码部分 # -*- coding: utf-8 -*- import sys from PySide6.QtWidgets import * from PySide6.QtGui import * from PySide6.QtCore import * from PySide6.QtSql import QSqlDatabase, QSqlQueryModel, QSqlQuery import os os.chdir(os…

专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享

我的初试备考从4月末&#xff0c;持续到初试前&#xff0c;这中间没有中断。 总的时间分配上&#xff0c;是数学>专业课>英语>政治&#xff0c;虽然大家可支配时间和基础千差万别&#xff0c;但是这么分配是没错的。 数学 时间安排&#xff1a;3月-7月&#xff1a;…

人声分离软件:iZotope RX 10 (WinMac) 中文汉化版

iZotope RX 10是一款在音频修复和增强领域中非常出色的软件。它提供了一套全面的音频问题解决方案&#xff0c;为后期制作专业人员、音频工程师和视频编辑者解决各种棘手问题。 iZotope RX 10的主要特点包括&#xff1a; 声音修复功能&#xff1a;可以去除不良噪音、杂音、吱吱…

使用Python,Xpath获取所有的漫画章节路径,并下载漫画图片生成单个/多个pdf,并进行pdf合并

使用Python&#xff0c;Xpath获取所有的漫画章节路径&#xff0c;并下载漫画图片生成单个/多个pdf&#xff0c;并进行pdf合并 1 效果图2 原理2.1 pa_mh.py获取喜欢的漫画及所有章节2.2 pyImg2pdf.py根据图片生成单个/多个pdf并增加章节提示 3 源码3.1 pa_mh.py获取喜欢的漫画及…