学习笔记——Java入门第二季

news2025/1/6 19:27:06

1.1 介绍类与对象
类和对象的关系:
时间万物皆对象。对象是具体的事物,是类的具体事例
类是抽象的概念,是对象的模板。


new关键字是创建实例对象最重要的标志

Dog duoduo=new Dog();

Dog lucky=new Dog();

这样就创建了两个对象并且在java内存中独立保存,doudou和lucky,他们都属于Dog这个类,都符合这个类的定义。在这里无论犬类或者具体狗狗名称都是通过编程语言的代码来描述现实生活中的对象,这个过程就被称为面向对象编程。

1.2 创建类与对象


敲入psvm加enter快捷生成mian方法

1、定义类名时,首字母要大写,之后的每个有意义的单词也要大写;

2、定义对象名是,首字母要小写,之后的每个有意义的单词也要大写;

1.3 成员变量          
属于对象的变量;

用于保存对象的静态特征;

同类型的不同对象拥有相同的成员变量,但彼此独立。

1.4 方法的作用
什么是方法:

方法(Method)是用于完成特定功能的整段代码。通过对一段可以实现特定功能的代码进行简单的包装,形成方法,让程序可以反复去调用同一个方法,来反复实现这个功能。

2.1 包-Package


包的命名规范:
    包采用“逆域名法”进行命名 ,用“.”分割,单词全部小写。
    标准格式:域名后缀.组织机构名.项目名[模块名].包的职能


包中类的引用:
    1.跨包引用,在package包声明后加上import导入
    2.同一包下的不同类,在互相引用时不必导入

2.2 访问修饰符


2.3 面向对象特性之封装
封装的概念:

    将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

2.4 对成员变量进行读写封装
成员变量的封装

先将成员变量私有化;

利用get(),set()方法对其进行访问;

访问私有成员变量的方法(在私有成员变量所在的类当中设置getOwner(),setOwner()):

访问私有成员变量:getOwner(){return this.owner;};

设置私有成员变量:setOwner(String owner){this.owner=owner;} 

getOwner()/setOwner()方法并不是语法要求,只是利用了Java中方法的特性访问私有成员变量。所以,方法名可以自行设置,只要实现调用和设置私有成员变量的功能即可。

3.1 面向对象特征之继承
extends 关键字⽤于类的继承;

extends 关键字后⾯是⽗类,关键字前⾯是⼦类;

⼦类会继承⽗类的(default)/protected/public 修饰的成员变量与⽅法 

3.2 面向对象特征之多态
多态:同一个行为具有多个不同的表现形式或形态的能力,根据输入的内容不同,去产生不同的接口实现

多态的前提

要有继承或实现关系

要有方法的重写

要有父类引用指向子类对象

引用变量的两种类型

    编译时类型:由声明时的类型决定。

    运行时类型:由实际对应的对象类型决定。

优点:

    提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作

缺点:

    不能使用子类的特有成员

接口:

    抽象的类型,只提供方法的定义

实现类:

    接口的具体实现,要实现每一个接口方法的功能,一个接口可以拥有多个实现类

3.3 ArrayList列表类的使用


1、向列表添加数据

对象名.add();

对象名.add(索引位置,数据)// 像当前数组尾部添加数据

2、泛型:<>

List <数据类型> 对象名 = new ArrayList<数据类型>();

3、得到指定位置数据

对象名.get(索引位置);

4、获得列表的数值总数

对象名.size();

5、移除数据

对象名.remove(索引位置);

6、移除最后一项数据

对象名.remove(对象名.size()-1);

7、遍历列表所有数据

For( 数据类型 变量名 :列表名){
//循环体

}

4.1 开通阿里云市场天气预报服务
api阿里云天气预报数据处理流程:

过程:

阿里云

登录

选择购买免费数据

AppCode

调用网址

发送请求

数据处理过程,涉及到:客户端应用程序,阿里云市场天气预报服务器,数据库,中国气象局数据平台

4.2 实现24小时天气预报查询功能
输入命令:

利用Scanner对象获取用户输入的数据。

适用方法:Scanner objectName = new Scanner(System.in);objectName.nextInt()/next()/nextDouble()。 

换行输出:println;不换行输出:print。

List<HourWeather> weatherList = weatherUtils.w24h()

解释:因为w24h()方法返回的就是一个List类型的数据集合,所以,返回的数据集合可以实例化List<HourWeather> 的对象。

4.3 格式化输出天气预报结果


占位符:%类型缩写。意思就是在显示字符串数据中,用“%类型缩写”先占取一个位置,以便后面将需要的值放在这里。

解释:先用%s在需要放数值的地方占取一个位置;再用String调用format()方法,将有占位符的字符串变量和String类实例的对象传递到format方法中。最终返回一个字符串数据,由一个字符串变量接收。(%3s指的是该占位符将占3个显示空间。)
 

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

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

相关文章

软件系统功能测试的依据

验收测试 一、软件系统功能测试的依据&#xff1a; 采用GB/T 25000.51-2016系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分&#xff1a;就绪可用软件产品(RUSP)作为测试依据 二、常用功能测试方法&#xff1a; 界面测试 是指对使用界面的软件进行的软件测试&…

Docker 搭建Redis 集群之路

前言 搞技术就是动手&#xff0c;动手再动手&#xff0c;实践出真知&#xff0c;毕竟最终是要解决问题的呢&#xff0c;废话不多讲&#xff0c;开搞&#xff0c;主要是为了记录一下&#xff0c;毕竟过程还是有点艰辛呢需求&#xff08;target&#xff09; Windows 电脑 装一个…

网络层重点协议-IP协议(结构分析)

IP协议数据报格式 一.4位版本号 用来表示IP协议的版本&#xff0c;现有的IP协议只有两个版本IPv4和IPv6 二.4位首部长度 IP协议数据报报头的长度 三.8位服务类型 3位优先权字段&#xff08;已经弃用&#xff09;&#xff0c;4位TOS字段&#xff0c;和1位保留 字段&#xff08;必…

分享 8 个 VSCode 插件,提升你的编码体验

大多数开发者都在不断寻找让开发工作更轻松的方法&#xff0c;我也是如此。合适的工具可以帮助你实现这一目标。 在本文中&#xff0c;我们将探讨我个人使用的八个扩展&#xff0c;以优化我的编码体验。让我们来看看这些扩展的列表&#xff0c;亲自体验它们如何改善你的编码体验…

月报总结|Moonbeam 8月份大事一览

夏日已经趋近尾声&#xff0c;脚下的这片土地正迎来凉爽的秋天。Moonbeam在最炎热的8月中&#xff0c;依然朝着其愿景不断向前迈进。Moonbeam生态也迎来了许多好消息&#xff0c;先前启动的第二批生态Grant计划也完成了最后的链上投票&#xff0c;3个项目成功通过投票&#xff…

如何设计接口认证对接第三方API?

一、前言 在与第三方系统做接口对接时&#xff0c;往往需要考虑接口的安全性问题&#xff0c;本文主要分享几个常见的系统之间做接口对接时的认证方案。 二、认证方案 例如订单下单后通过 「延时任务」 对接 「物流系统」 这种 「异步」 的场景&#xff0c;都是属于系统与系统…

go的iris框架进行本地资源映射到服务端

我这里使用的是HandleDirapi,有其他的请补充 package mainimport ("github.com/kataras/iris/v12" )type Hello struct{Status int json:"status"Message string json:"message" }func main(){app : iris.New()//第一个api:相当于首页app.Get(&q…

业务安全及实战案例

业务安全 关于漏洞&#xff1a; 注入业务逻辑信息泄露 A04:2021 – Insecure Design 在线靶场PortSwigger 1. 概述 1.1 业务安全现状 1.1.1 业务逻辑漏洞 ​ 近年来&#xff0c;随着信息化技术的迅速发展和全球一体化进程的不断加快&#xff0c;计算机和网络已经成为与…

第三章 Linux多线程开发 线程取消 属性 同步 互斥锁 死锁 读写锁 生产者消费者 信号量

线程取消&#xff1a; /*#include <pthread.h>int pthread_cancel(pthread_t thread);- 功能&#xff1a;取消线程&#xff08;让线程终止&#xff09;取消某个线程&#xff0c;可以终止某个线程的运行&#xff0c;但是并不是立马终止&#xff0c;而是当子线程执行到一个…

SLAM从入门到精通(ROS的使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 ros&#xff0c;全称robot operating system。说它是操作系统&#xff0c;其实有点夸大了。一般认为&#xff0c;它是提供了robot处理的统一框架&a…

华为OD机试 - 英文输入法(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

网络编程day040830

目录 select的TCP服务器 代码 完成select的TCP客户端 代码 结果 思维导图 select的TCP服务器 代码 #include<myhead.h>//do-while只是为了不让花括号单独存在&#xff0c;并不循环 #define ERR_MSG(msg) do{\fprintf(stderr,"%d:",__LINE__);\perror(ms…

Python代码雨

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…

JAVA设计模式第七讲:设计模式在 Spring 源码中的应用

设计模式&#xff08;design pattern&#xff09;是对软件设计中普遍存在的各种问题&#xff0c;所提出的解决方案。本文以面试题作为切入点&#xff0c;介绍了设计模式的常见问题。我们需要掌握各种设计模式的原理、实现、设计意图和应用场景&#xff0c;搞清楚能解决什么问题…

2022年12月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:生理周期 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因…

若依前端vue设置子路径

若依前端vue设置子路径 说明&#xff1a;本文档中以前后端分离版为例&#xff0c;版本为:3.8.6 一设置变量 在.env.development和.env.production 中定义一个变量如VUE_APP_PROJECT_IDENTIFIER # 项目标识字符 VUE_APP_PROJECT_IDENTIFIER admin二引用路径变量 ${process…

在PHP8中统计数组元素个数-PHP8知识详解

在php8中&#xff0c;统计数组元素的个数&#xff0c;有下面几个函数&#xff1a;使用count()函数统计数组元素个数、使用sizeof()函数统计数组元素个数。还讲到了&#xff0c;使用array_count_values()函数来统计数组中每个元素出现的次数。 1、使用count()函数统计数组元素个…

医疗知识图谱 neo4j

开源项目&#xff1a; https://github.com/liuhuanyong/QASystemOnMedicalKG 一.效果 二.需要安装&#xff1a; pip install pyahocorasick pip install py2neo 三.需要修改&#xff1a; 需要改的点&#xff1a; 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行&am…

读懂AUTOSAR,之CAN Driver L-PDU发送和“重入问题”

1. L-PDU发送 L-PDU传输时,Can模块将L-PDU内容ID和数据长度转换为硬件特定格式(如果需要),并触发传输。 [SWS_Can_00059] CAN到内存的数据映射定义为首先发送的CAN数据字节为数组元素0,最后发送的CAN数据字节为数组元素7或63(在CAN FD的情况下)。(SRS_SPAL_12063)[S…