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

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.rhkb.cn/news/123922.html

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

相关文章

尚硅谷大数据项目《在线教育之离线数仓》笔记007

视频地址&#xff1a;尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili 目录 第12章 报表数据导出 P112 01、创建数据表 02、修改datax的jar包 03、ads_traffic_stats_by_source.json文件 P113 P114 P115 P116 P117 P118 P119 P120 P121 P122【122_在…

LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)

目录 1123. 最深叶节点的最近公共祖先 题目描述&#xff1a; 实现代码与解析&#xff1a; dfs 原理思路&#xff1a; 1123. 最深叶节点的最近公共祖先 题目描述&#xff1a; 给你一个有根节点 root 的二叉树&#xff0c;返回它 最深的叶节点的最近公共祖先 。 回想一下&…

钉钉消息已读、未读咋实现的嘞?

前言 一款app&#xff0c;消息页面有&#xff1a;钱包通知、最近访客等各种通知类别&#xff0c;每个类别可能有新的通知消息&#xff0c;实现已读、未读功能&#xff0c;包括多少个未读&#xff0c;这个是怎么实现的呢&#xff1f;比如用户A访问了用户B的主页&#xff0c;难道…

文字转语音TTS bark SpeechT5 mms

bark GitHub - suno-ai/bark: &#x1f50a; Text-Prompted Generative Audio Model microsoft SpeechT5 https://github.com/microsoft/SpeechT5 使用 SpeechT5 进行语音合成、识别和更多功能 - 掘金 Facebook mms https://github.com/facebookresearch/fairseq/tree/mai…

私有化部署即时通讯平台,完美替代飞书和钉钉的SaaS系统

在当今快速发展的数字化时代&#xff0c;企业对于安全、灵活、可定制的即时通讯平台需求不断增长。作为一家领先的品牌&#xff0c;WorkPlus专注于提供私有化部署的即时通讯平台&#xff0c;完美替代飞书和钉钉的SaaS系统。本文将重点介绍WorkPlus如何通过创新的解决方案&#…

【C刷题训练营】第三讲(c语言入门训练)

前言: 大家好&#xff0c;我决定日后逐渐更新c刷题训练营的内容&#xff0c;或许能帮到入门c语言的初学者&#xff0c;如果文章有错误&#xff0c;非常欢迎你的指正&#xff01; &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&…

CSAPP的Lab学习——Archlab(Architecture Lab)

文章目录 前言一、A部分sum .ys&#xff1a;迭代求和链表元素写一个Y86-64的程序和。rsum .递归求和链表元素copy.ys 复制将源块复制到目标块 二、B部分三、C部分实现iaddq指令 总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招。刚刚看完CSAPP&#xff0c;真是一本神…

C++信息学奥赛1190:上台阶

#include <iostream> using namespace std;long long arr[80]; // 用于存储斐波那契数列的数组int main() {int n;arr[1]1; // 初始化斐波那契数列的前三个元素arr[2]2;arr[3]4;for(int i4;i<71;i) { // 计算斐波那契数列的第4到第71个元素arr[i]arr[i-1]arr[i-2]…

【Linux权限管理】文件:毁灭我与我无关

一.预备知识 1.LInux用户分类 一台Linux机器的用户分为两类&#xff1a; 超级用户和普通用户。 注意我这里说的用户的并不是一个固定的人&#xff0c;例如你本身就有root账号&#xff0c;但你也可以使用自己创建普通账号。当你使用root账号时&#xff0c;你就是一个超级用户…

二叉查找树(binary search tree)(难度7)

C数据结构与算法实现&#xff08;目录&#xff09; 答案在此&#xff1a;二叉查找树&#xff08;binary search tree&#xff09;&#xff08;答案&#xff09; 写在前面 部分内容参《算法导论》 基本接口实现 1 删除 删除值为value的第一个节点 删除叶子节点1 删除叶子节…

android framework之Applicataion启动流程分析(四)

本文主要学习并了解Application的Activity启动流程。 这边先分析一下Launcher是如何启动进程的Acitivity流程。从Launcher启动Acitivity的时候&#xff0c;它是把启动任务丢给instrumentation模块去协助完成&#xff0c;由它进一步调用AMS的startActivity()方法 去启动&#xf…

怎么处理zk或redis脑裂

很极端场景会出现脑裂 什么是分布式的脑裂 怎么理解zk脑裂 就是ZK&#xff0c;与客户端可能因为网络原因&#xff0c;客户端A还在跑着后续程序&#xff0c;而zk与客户端之前的心跳断了&#xff0c;此zk就把这节点给删除了&#xff0c;这时另一个客户会加锁成功&#xff0c;就样…

荣耀9x使用体验

第一次使用鸿蒙系统&#xff0c;感觉还行&#xff0c;虽然各种操作和手势不太习惯&#xff0c;但是不影响什么&#xff0c;这是已经发布了4年的手机&#xff0c;用起来没什么毛病&#xff0c;各方面比较均衡。 2年前买的&#xff0c;原价1500块&#xff0c;现在&#xff08;20…

Unity 之利用Audio Source(音频源)组件用于播放声音

文章目录 Unity中的Audio Source&#xff08;音频源&#xff09;是一个用于播放声音的组件&#xff0c;通常附加到游戏对象上&#xff0c;以便在游戏中播放音频效果、音乐或对话。以下是Audio Source的详细介绍&#xff1a; 添加Audio Source&#xff1a; 要在Unity中使用Audio…

SAM论文翻译

文章目录 Abstract1、Introduction2、Related Work3、Methodology3.1、Semantic Graph3.2、Semantic Aware Module3.3、Decoder3.4、Loss Function 4、Experiments4.1、Datasets4.2、Implementation Details4.3、Evaluation Protocol4.4、Comparison with State-of-the-Art 论文…

STM32WB55开发(1)----套件概述

STM32WB55开发----1.套件概述 所用器件视频教学样品申请优势支持协议系统控制和生态系统访问功能示意图系统框图跳线设置开发板原理图 所用器件 所使用的器件是我们自行设计的开发板&#xff0c;该开发板是基于 STM32WB55 系列微控制器所构建。STM32WBXX_VFQFPN68 不仅是一款评…

Win10右键 nvidia rtx desktop manager 怎么删除(最新)

在更新了最新的 nvidia后原来的隐藏鼠标右键菜单后不行了&#xff0c;新方法如下&#xff1a; 步骤一&#xff1a;在键盘“WINR”键同时操作下&#xff0c;启动运行框&#xff0c;在框内输入“regedit”&#xff0c;打开深度系统win7 的注册表编辑器。 步骤二&#xff1a;为防…

maven配置nexus私服详解

maven配置nexus私服详解 简介&#xff1a;配置步骤1、本地maven settings.xml配置1.1配置本地仓库位置1.2 server配置1.3 镜像配置1.4 私服仓库配置 2、maven项目pom.xml配置 完整配置模板 简介&#xff1a; 前提是已经搭建好了私服&#xff0c;我们需要在本地maven中配置相关…

半导体厂务液体泄漏问题的挑战与解决方案

在半导体制造领域&#xff0c;液体泄漏是一项极具挑战性的问题。半导体工厂内有着大量的化学品、工艺液体和废水系统&#xff0c;这些液体在制造过程中扮演着至关重要的角色。然而&#xff0c;液体泄漏可能会导致严重的生产中断、环境污染和安全风险。本文将探讨半导体厂务中的…

Qt 5.15编译(MinGW)及集成Crypto++ 8.7.0笔记

一、背景 为使用AES加密库&#xff08;AES/CBC加解密&#xff09;&#xff0c;选用Crypto 库&#xff08;官网&#xff09;。   最新Crypto C库依次为&#xff1a;8.8.0版本&#xff08;2023-6-25&#xff09;、8.7.0&#xff08;2022-8-7&#xff09;和8.6.0&#xff08;202…