目录
1.1 介绍类与对象
1.2 创建类与对象
1.3 成员变量
1.4 方法的作用
2.1 包-Package
2.2 访问修饰符
2.3 面向对象特性之封装
2.4 对成员变量进行读写封装
3.1 面向对象特征之继承
3.2 面向对象特征之多态
3.3 ArrayList列表类的使用
4.1 开通阿里云市场天气预报服务
4.2 实现24小时天气预报查询功能
4.3 格式化输出天气预报结果
1.1 介绍类与对象
类和对象的关系:
时间万物皆对象。对象是具体的事物,是类的具体事例
类是抽象的概念,是对象的模板。
1.2 创建类与对象
敲入psvm加enter快捷生成mian方法
1、定义类名时,首字母要大写,之后的每个有意义的单词也要大写;
2、定义对象名是,首字母要小写,之后的每个有意义的单词也要大写;
1.3 成员变量
-
属于对象的变量;
-
用于保存对象的静态特征;
-
同类型的不同对象拥有相同的成员变量,但彼此独立。
1.4 方法的作用
什么是方法:
方法(Method)是用于完成特定功能的整段代码。通过对一段可以实现特定功能的代码进行简单的包装,形成方法,让程序可以反
复去调用同一个方法,来反复实现这个功能。
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个显示空间。)