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个显示空间。)