Java学习:初入Java

news2024/11/18 21:33:12

1.Java文件扩展名

        .class:字节码文件,通过JVM虚拟机译码执行相关程序,java的跨平台依靠的就是JVM,不同平台有不同类型的JVM。

        .java:Java源文件,存放Java源代码,一份Java源文件可能有多个类,除去内部类(匿名类),有多少个普通类就产生多少个.class文件。

2.Java数据类型

        分为基本数据类型和引用类型。基本类型有8种,而引用类型有类、接口和数组。只要有用到new的实例都是对象。基本类型中float和long要在数字后加f和l。其次,java中无%ld和%lf,格式化时候不能使用。

基本数据类型实例
int1

double

1.0
float1.0f/F
byte1
booleantrue
short1

char

'c'
long1l/L

3.Foreach循环

  • 输入foreach可自动生成。
    for (Integer integer : arr) {
    	System.out.println(integer); 
    }

4.命令行下Java的编译运行

        输入javac命令进行编译,java命令进行运行相关类,javac要输入文件后缀,java只需输入类名。

        

5.子类和父类的继承关系 

  • 子类要继承父类使用extends关键字。
  • 子类调用父类的构造方法使用super()方法。不管是子类手动调用父类的无参构造方法,还是手动调用父类的带参构造方法,代码必须写在子类构造方法的第一行
  • 子类初始化时不会自动调用父类的带参构造方法,如果用到了父类的带参构造方法,则需要手动去调用,手动调用父类的构造方法后,子类不再自动调用父类的无参构造方法;
  • 类在无参构造方法中调用有参构造方法要使用this(参数)方法来调用。
  • 子类只能有一个父类。
  • Object 类是所有类的父类。
  • 子类拥有和父类一样方法名的方法,不能不修改参数,只修改修饰词和返回值!要修改()内参数后才能修改返回值和修饰词,此时子类的方法已是新方法。

 案例:

//这是父类
class SuperClass {

    //父类无参构造方法
    public SuperClass(){
        System.out.println("父类无参构造方法");
    }

    //父类带参构造方法
    public SuperClass(String str){
        System.out.println(str);
    }
}
//这是子类
class SubClass extends SuperClass{

    //子类无参构造方法
    public SubClass(){
        System.out.println("子类无参构造方法");
    }

    //子类带参构造方法
    public SubClass(String str){
        System.out.println(str);
    }
}
//这是测试类
public class TestMain {

    public static void main(String[] args) {
        SubClass sc1 = new SubClass();
        SubClass sc2 = new SubClass("子类带参构造方法");
    }
}

 输出:

6.初始化代码块

  案例:

class example{
{
	System.out.println("我是非静态代码块2");
}
static{
	System.out.println("我是静态代码块2");
}
}

  • 非静态代码块:

                执行多次,每次构造对象一次就执行一次。且先于构造器执行。        

  • 静态代码块:

            只执行一次。

7.多态/接口

public interface GeneralStack {
    public Object push(Object t);            //如item为null,则不入栈直接返回null。
    public Object pop();                 //出栈,如为栈为空,则返回null。
    public Object peek();                //获得栈顶元素,如为空,则返回null.
    public boolean empty();//如为空返回true
    public int size();     //返回栈中元素数量

}

        使用interface关键字定义接口,具体实现类要使用implement继承该接口且覆写该接口的方法。 一个类可以继承多个接口,实现多种方法。

8.static和final

1.static

  • static声明的成员变量为静态成员变量,也成为类变量。
  • 类变量生命周期和类相同,在整个应用程序执行期间都有效。
  • 注意静态方法不能调用非静态变量。

2.final

  • 当用final修饰一个类时,表明这个类不能被继承。
  • 当用final修饰一个方法时,表明这个方法不能被子类覆盖。
  • 当用final修饰一个变量时,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

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

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

相关文章

GIt的应用

一、Git概述 1.1 什么是git git 是一个代码协同管理工具,也称之为代码版本控制工具,代码版本控制或管理的工具用的最多的主要 是 svn 、 git 。 SVN 是采用的同步机制,即本地的代码版本和服务器的版本保持一致(提交版本时&…

ansible 备忘清单(一)

笔者: 把以前的手写笔记电子化吧,顺便当作复习。 基础命令 命令 参数 备注 ansible --version 查看版本号 ansible-doc --help 查看帮助信息 -l |--list 查看所有模块 -s 查看模块摘要 Ansible servers -I |-…

AI大模型引领未来智慧科研暨ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

数据结构:单调栈

1.单调栈 单调栈是一种数据结构,其中存放的数据应该是有序的,所以单调栈也有单调递减栈和单调递增栈 单调递增栈:栈顶到栈底的元素大小是从小到大 单调递减栈:栈顶到栈底的元素大小是从大到小 单调栈主要就是用来求一个给定序列中…

【Proteus】swjtu西南交大微机原理与接口技术课设:8086 最小模式下的最简硬件核设计

一、实验目的 让学生深入理解计算机硬件的基本组成结构、工作原理和设计方法,掌握 16 位微处理 器(如 8086)的内部结构和原理,并能够通过实际操作实现对其功能的在线调试和验证。 这样可以加深对计算机系统的认识和理解&#xff…

技术太难,人工太慢,这才是最牛的温湿度监控工具!

随着科技的不断进步和各行业的发展,温湿度监控已经成为确保产品质量、维护设备安全以及提高工作环境效能的关键工具。 在这个信息时代,实时、精准的温湿度数据监测不仅为企业带来了飞速的发展,也为行业发展注入了新的活力。 客户案例 医疗行…

Checkpoint 执行机制原理解析

在介绍Checkpoint的执行机制前,我们需要了解一下state的存储,因为state是Checkpoint进行持久化备份的主要角色。Checkpoint作为Flink最基础也是最关键的容错机制,Checkpoint快照机制很好地保证了Flink应用从异常状态恢复后的数据准确性。同时…

golang连接mysql的第一个程序(最新)

不想多说话,先把golang和mysql连接好,环境配置好,然后直接上代码就行了,代码可直接运行。 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )func main() {// MySQL …

nvm 的安装及使用 (Node版本管理器)

目录 1、nvm 介绍 2、nvm安装 3、nvm 使用 4、node官网可以查看node和npm对应版本 5、nvm安装指定版本node 6、安装cli脚手架 1、nvm 介绍 NVM 全称 node.js version management ,专门针对 node 版本进行管理的工具,通过它可以安装和切换不同版本的…

【SpringCloud笔记】(11)消息驱动之Stream

Stream 技术背景 底层不同模块可能使用不同的消息中间件,这就导致技术的切换,微服务的维护及开发变得麻烦起来 概述 官网: https://spring.io/projects/spring-cloud-stream#overview https://cloud.spring.io/spring-cloud-static/spring…

在Go语言中处理HTTP文件上传

大家好,我是你们可爱又迷人的编程小助手,今天要带你们一起探讨在Go语言中如何处理HTTP文件上传,让我们把这场技术之旅变得轻松有趣吧! 首先,想象一下这个场景:你是一个网站的开发者,用户们急切…

pycharm 工具栏不见了

新版pycharm后, 菜单栏和工具栏不见了 目录 我发现的解决方法: 其他旧版的解决方法: 我发现的解决方法: 其他旧版的解决方法: 另外,一些使用pycharm的新手可能会由于不熟悉软件的功能而误操作&#xff…

文件夹共享(普通共享和高级共享的区别)防火墙设置(包括了jdk安装和Tomcat)

文章目录 一、共享文件1.1为什么需要配置文件夹共享功能?1.2配置文件共享功能1.3高级共享和普通共享的区别: 二、防火墙设置2.1先要在虚拟机上安装JDK和Tomcat供外部访问。2.2设置防火墙: 一、共享文件 1.1为什么需要配置文件夹共享功能&…

springboot对接WebSocket实现消息推送

1.修改pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.增加配置WebSocketConfig.java import org.springframework.context.annotation.Bean…

接口测试工具——ApiFox使用初体验 postman导出和ApiFox导入

目录 ApiFox使用初体验初步使用从postman导出到apifox导入 IDEA简单测试Postman测试工具post请求 接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参…

智能监控平台/视频共享融合系统EasyCVR海康设备国标GB28181接入流程

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

基于springboot的数码论坛系统设计与实现

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 摘 要 网络的广泛应用给…

laravel api资源的问题记录

resource 转换层 可以帮助我们转换一些字段的结果&#xff0c;类似前端的filter。 可以使用比如对象或者模型的形式来处理&#xff0c;但使用sql查询会导致n1的问题。如图&#xff1a; 层次嵌套很多&#xff0c;而且很深&#xff0c;这样虽然开发方便了&#xff0c;但是维护就…

Mysql(5日志备份恢复)

一.日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data 先看下mysql的日志文件有无&#xff1a; 修改配置文件添加&#xff1a;错误日志&#xff0c;用来记录当MySQL启动、停止或运行时发生的错误信息&#xff0c;默认已开启 修改配置文件添加&#xff1a;通用查…

PWR 电源控制-stm32入门

这一节我们来学习 STM32 的 PWR 电源控制。 其中&#xff0c;我们重点学习的主要就是 3 种低功耗模式&#xff1a;睡眠模式、停机模式和待机模式。 低功耗模式的目的呢&#xff1f;简单明了&#xff0c;就是省电&#xff0c;这对于一些使用电池供电&#xff0c;又需要长时间待…