Java基础知识总结(45)

(3)类和对象
        类是面向对象的重要内容,可以把类当做一种自定义类型,可以使用类来定义变量,这种类型的变量统称为引用类型变量。
(4)定义类
        类是对一批对象的抽象,可以把类理解成某个群体,对象则是具体的存在。
        [修饰符] class 类名{

                0个或者多个构造器

                0个或者多个成员变量

                0个或者多个方法

                //另外,类中还可以包含内部类,内部枚举等等    

        }
        如:抽象出学生的共同性质,定义一个Student类
        public class Student {
            String name;
            int age;
            char gender;
            String CardId;//状态(属性)
        }

        修饰符可以是public、final、abstract,或者完全省略这4个修饰符。类名符合标识符的命名规则就可以,类名使用帕斯卡命名规则。
                    
        成员变量的定义:

           [修饰符] 数据类型 成员变量 [=默认值]
                          修饰符:修饰符可以省略,也可以是public、protected、private、static、final、transient,其中public、protected、private只能选一个,可以与final、static组合来修饰成员变量
           类型:类型可以是Java允许的任意类型,可以是基本类型、也可以是引用类型
           成员变量名:成员变量名要符合标识符命名规则,使用驼峰命名法,要做到见名知意。
           默认值:成员变量可以指定默认值,在创建对象时,如果不指定初始值,jvm会提供默认值,其中整型默认值为0,浮点型默认值为0.0,布尔型默认值为false,字符型默认值为'\u0000'。

        方法的定义:

          [修饰符] 方法返回值类型 方法名(形参列表){
                //方法体   
          }

          修饰符:修饰符可以省略,也可以是public、protected、private、static、final,其中public、protected、private只能选一个,可以与final、static组合来修饰成员变量
          方法返回值类型:返回值类型可以是Java允许的任意数据类型、包括基本类型和引用类型;如果声明了返回值类型、则方法体中必须有一个有效的return语句,该语句返回一个变量或者表达式,这个变量或表达式的类型必须与声明的类型匹配,此外,如果一个方法没有返回值,则返回值类型用void代替,表明该方法没有返回值。
            方法名:方法名要符合标识符命名规则,使用驼峰命名法,要做到见名知意。
          形参列表:形参用于定义该方法可以接受的参数,形参列表可以由0个或者多个参数组成,参数之间用逗号隔开。一旦方法定义时定义了形参列表,则调用该方法时必须传入对应类型的参数值。
            构造器则是一种特殊的方法,其作用是用于创建对象,Java语言通过new关键字来调用构造方法,从而返回该类的实例。构造器是一个类创建对象的基本方法,如果一个类没有构造器,这个类也就无法创建实例了。因此Java语言提供了一个功能:如果开发者没有为类编写构造器,编译器会为该类提供一个默认无参数的构造器,一旦开发者提供了构造器,则编译器不在提供构造器。
        构造器的定义: 需要注意的是构造器是一种特殊的方法,其方法名和类名相同,但没有方法返回值,也不用void修饰。

        [修饰符] 方法名(形参列表){

            方法体   

        } 
        修饰符:修饰符可以省略,也可以是public、protected、private其中之一,如果构造器的修饰符为private,则不能通过new调用,也就是说当一个类的构造器被private修饰,该类则不能通过new来创建对象
        方法名:必须与类名相同
        形参列表:和方法中的形参格式完全相同
             面试题:
                public class Student {
                    String name;
                    int age;
                    char gender;
                    String CardId;
                    int Student() {//构造器:构造器的方法名必须与类名一致,方法无返回值并且不用void修饰。
                        return 0;//该不符合构造器定义,故该方法不是构造器,特别注意!!!!
                    }
                }
(5)创建对象和使用对象
     
     public class Student {
        String name;
        int age;
        char gender;
        String CardId;

        public void printTest() {
            System.out.print("Test!");
        }
     }

     public class CreateClass {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
 
            //创建一个student类型的对象
            Student student;
            //通过new关键字调用构造方法实例化Student类,
            student = new Student();
    
            //Student student = new Student(); 简写形式
    
            System.out.println(student.age); //访问对象的实例变量 默认值 0 
            student.printTest();//调用对象的方法 Test!
        }

     }

    static 修饰的方法和成员变量,既可通过类来调用,也可通过实例来调用;没有使用 static 修饰的普通方法和成员变量,只可通过实例来调用。(关于static关键字会在后续内容中讲解,我们现在先来谈谈实例变量)

(10)选择排序算法

public class SelectionSort {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    int[] a= {8,5,2,4,7,1};
    for(int i = 0;i<a.length;i++) {
        //定义每一轮的最小值(假设第i轮最小值就是索引i对应的元素)
        int minIndex = i;
        for(int j=i+1;j<a.length;j++) {
            if(a[minIndex]>a[j]) {
                //在数组遍历过程中,如果存在比假设的元素更小的元素,那么就记录其索引
                minIndex = j;
            }
        }
        //一轮比较结束后,如果最小值就是就是之前假设的最小值,那么就不交换。否则,交换
        if(minIndex!=i) {
            int temp = a[minIndex];
            a[minIndex] = a[i];
            a[i]=temp;                
        }            
    }
}

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

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

相关文章

一文读懂CSS中的阴影:box-shadow,text-shadow,drop-shadow的区别与使用方式

一、区别 box-shadow 应用于元素&#xff0c;为元素本身添加阴影效果。 text-shadow 应用于文本&#xff0c;为文本内容添加阴影效果。 drop-shadow 是filter属性的一部分&#xff0c;通常用于图像&#xff0c;为其添加阴影效果。 二、box-shadow box-shadow属性用于为元素&…

无线局域网安全协议-WEP,WPA,WAPI,

目录 一、WEP&#xff08;有线等效保密&#xff09; 二、WPA&#xff08;Wi-Fi网络安全接入&#xff09; ​编辑 三、WAPI&#xff08;无线局域网鉴别和保密基础结构&#xff09; WLAN&#xff08;Wireless Local Area Network&#xff09;指应用无线通信技术将计算机设备互…

C语言程序的编译与链接

目录 1.翻译环境和运行环境2.翻译环境2.1 预处理&#xff08;预编译&#xff09;2.2 编译2.3 汇编2.4 链接 3.运行环境 1.翻译环境和运行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境。 翻译环境&#xff1a;在这个环境中源代码被转换为可执⾏的机器指令&am…

计算机网络(一)--网络发展和协议

网络发展和协议 计算机网络背景从独立模式到网络互联模式计算机网络发展七个阶段1. 批处理2. 分时系统3. 计算机之间的通信4. 计算机网络的产生5. 互联网的普及6. 以互联网技术为中心的时代7. 单纯建立连接 到 安全建立连接 协议例子:人与人之间的对话计算机中的协议 协议分层O…

Linux CentOS基础操作

Linux CentOS基础操作 1. 查看Linux服务器当前主机名等 hostname 2. 查看当前系统日期和时间 date -d -y 3. 显示网络接口信息&#xff0c;获取当前网卡状态&#xff0c;启动、停止网卡&#xff0c;网卡等闪烁显示30秒&#xff0c;配置网卡(网卡名称&#xff1a;eth1)的IP地址…

Redis主从同步机制

Redis主从同步机制是一种分布式数据库架构设计&#xff0c;用于确保主数据库&#xff08;Master&#xff09;和从数据库&#xff08;Slave&#xff09;之间的数据一致性&#xff0c;从而实现数据冗余、负载均衡、故障转移等功能。以下是Redis主从同步机制的关键要点&#xff1a…

每日OJ题_两个数组dp⑤_力扣10. 正则表达式匹配

目录 力扣10. 正则表达式匹配 解析代码 力扣10. 正则表达式匹配 10. 正则表达式匹配 难度 困难 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c…

springboot 整合 mybatis(配置版)

代码及配置整合 创建实体类,与数据库对应 创建 mapper、service 和 controller @AutowiredUserService userService;@ResponseBody@GetMapping("/user")public com.vazquez.bootstudy.model.User getById(@RequestParam("id") Long id) {return userServ…

XC7A35T-2FGG484 嵌入式FPGA现场可编程门阵列 Xilinx

XC7A35T-2FGG484 是一款由Xilinx&#xff08;赛灵思&#xff09;制造的FPGA&#xff08;现场可编程门阵列&#xff09;芯片 以下是XC7A35T-2FGG484 的主要参数&#xff1a; 1. 系列&#xff1a;Artix-7 2. 逻辑单元数量&#xff1a;33280个 3. 工艺技术&#xff1a;28nm 4. …

设计模式之中介者模式讲解

概念&#xff1a;也称为调停者模式。用一个中介者对象封装一系列对象的交互&#xff0c;中介者使各对象不需要显示地相互作用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立地改变它们之间的交互。 抽象中介者&#xff1a;定义中介者的操作。具体中介者&#xff1a;实现…

【HTML】简单制作一个动态变色光束花

目录 前言 开始 HTML部分 效果图 ​编辑​编辑​编辑​编辑总结 前言 无需多言&#xff0c;本文将详细介绍一段代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建一个文本文档&#xff0c;其中HTML的文件名改为[index.html]&a…

目标检测YOLO实战应用案例100讲-基于卷积神经网络的多尺度特征融合目标检测

目录 前言 存在的挑战 2 相关技术基础 2.1 卷积神经网络 2.2 损失函数

【CTF】rip--堆栈的简单认识

前言 最近在学二进制&#xff0c;准备拿BUUCTF的pwn试试手&#xff0c;还在摸索的阶段&#xff0c;有什么思路出错的地方还请指出。 解题思路 下载文件到kali&#xff0c;查看文件为 64-bit的ELF&#xff08;ELF为Linux下的可执行文件&#xff0c;相当于Windows的exe&#xff0…

python-flask后端知识点

anki 简单介绍&#xff1a; 在当今信息爆炸的时代&#xff0c;学习已经不再仅仅是获取知识&#xff0c;更是一项关于有效性和持续性的挑战。幸运的是&#xff0c;我们有幸生活在一个科技日新月异的时代&#xff0c;而ANKI&#xff08;Anki&#xff09;正是一款旗舰级的学习工具…

GD32F470_GY-68 BMP180 新款 BOSCH温度 代替BMP085 气压传感器模块

2.23 BMP180气压传感器 1BMP180是一款高精度、小体积、低能耗的压力传感器&#xff0c;可以轻松应用在移动设备中.在测量海拔高度时&#xff0c;传统的做法是通过测量某一高度的大气压力&#xff0c;再经过换算才能得到高度数据。BMP180不仅可以实时的测量大气压力&#xff0c…

基于velero和minio实现k8s数据的备份

1.30部署minio rootk8s-harbor:/etc/kubeasz/clusters/k8s-cluster1# docker run \ -d --restartalways -p 9000:9000 -p 9090:9090 –name minio -v /data/minio/data:/data -e “MINIO_ROOT_USERadmin” -e “MINIO_ROOT_PASSWORD12345678” quay.io/minio/minio server…

Netty框架介绍并编写WebSocket服务端与客户端

一、Netty 介绍 Netty 是一个基于 Java NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞 I/O&#xff09;的网络通信框架&#xff0c;旨在帮助开发者轻松地编写高性能、高可靠性的网络应用程序。由于其出色的设计和强大的功能&#xff0c;Netty 在企业级应用和开源项目中得…

智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xff0c;视频画面1、4、9、16个可选&#xff0c;支持自定义视频轮播。EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标…

不同的子序列-java

题目描述(力扣题库115): 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 示例 1&#xff1a; 输入&#xff1a;s "rabbbit", t "rabbit"输出&#xff1a;3 解释&#xff1a; 如下所示…

小型企业网络安全指南

许多小型企业刚刚起步&#xff0c;没有大公司所拥有的相同资源来保护其数据。他们不仅可能没有资金来支持多样化的安全计划&#xff0c;而且也可能没有人力或时间。 网络犯罪分子知道小型企业缺乏这些资源&#xff0c;并利用这些资源来谋取利益。遭受网络攻击后&#xff0c;小…