arraylist用于存储多个数据,是Java的内置数据集合
是数组替代品
泛型<>
add新增
get读取
size长度
remove删除
多态是同一个行为具有多个不同表现形式或形态的能力
实现多态的关键是接口
接口interface是一个抽象的类型,只提供方法的定义
实现类是一个接口的具体实现,要实现每一个接口方法的功能
修饰符总结
封装隐藏功能实现细节:利用对象和方法,让代码更易阅读和维护
如图
方法(method)用于完成特定功能的整段代码
psvm,idea的快捷指令-main
成员变量是隶属于对象的变量
成员变量用于保存对象的静态特征
同类型的不同对象有相同的成员变量,但值彼此独立
类是抽象概念
对象是具体事物,是类的具体实例
程序中的类:class
从类创建具体对象(object)——实体化
创建类:public class 类名{}
类名首字母大写,不能包含特殊字符,不能数字开头
创建类的实例对象
类名 对象名 = new 类名();new是创建实例对象最重要的标识
对象名首字母小写,不要数字开头不能包含特殊字符
阿里云appcode + 具体地址
多态:同一个行为具有多个不同表现形式或形态的能力
如打印可为彩色或黑白;空调可制冷或取暖
实现多态的关键:接口:面向接口编程
抽象的类型,只提供方法的定义
实现类:接口的具体体现,实现每一个接口方法的功能
根据输入内容不同动态产生不同的接口实现,实现的过程要被额外方法进行封装
通过方法处理输入数据判断,决定使用的实现类
使用不同的实现类覆写
创建接口的对象,调用接口定义的方法完成不同的输出
方法根据不同情况return new xxx(实现类)
接口 对象1 = new 实现类()或对象2.方法(数据)
继承
访问修饰符protected:可以被同一包中的类与继承类访问
extends 前为子类,后为父类
子类会继承父类的(default)/protected/public修饰的成员变量和方法
不会继承private
封装:隐藏功能的实现细节
方式:利用对象和方法
使用者只需进行调用即可
优点:1.利于维护
2.互不影响
面向对象:封装 继承 多态
修饰符
笔记
成员变量就是属于对象的变量;
对象名和类名一样,必须是首字母大写且具有一定的意义,不是随便拼凑的字母。
访问修饰符作用范围
接口:只提供方法的定义
接口的实现类:接口定义方法的实现
接口的实现就是可以一个接口实现多个功能,就是存在多种形态,根据你传递不同的参数调用不同的方法
继承是子类继承父类的特征。
成员变量应该设置为私有化,这样可以防止属性被直接变化,同事编写Getter方法和Setter方法提供读取和改变数据的方式
封装就是用对象和方法来隐藏功能的具体实现。工具类就是封装的体现了
实例一个对象后,使用该对象调用类的方法:对象名.方法名(); 如果该方法有返回值则需要声明一个同类型的变量接收。//String a = 对象名.方法名();
多态是同一个行为具有多个不同表现形式或形态的能力。
接口是一个抽象的类型。
面向对象三大特征:封装、继承、多态。
包:把功能相似或相关的类组织在同一个包中。
现实中,肉类加工厂封装了加工的过程、苹果公司封装了芯片技术实现的过程等
概念:
封装就是隐藏功能的实现细节
对象和方法是实现封装的直接途径
良好的封装使代码更好的阅读和维护
好处一:把常见的排序算法都封装在一个类中,需要哪个就调用哪个。
好处二:使用者维护使用代码,服务提供者维护服务代码,两者互不影响。
package com.imooc.objectproject.sample3;
//张三开发的排序算法类
public class Algorithm {
/*
*传入五个数,控制台打印升序效果
* @param a 第一个数
* @param b 第二个数
* @param c 第三个数
* @param d 第四个数
* @param e 第五个数
*/
public void sort(int a , int b , int c , int d , int e){
//冒泡排序法
int [] arr = {a,b,c,d,e} ;
for(int i = 0;i < arr.length - 1;i++){
for(int j =0;j < arr.length - 1 - i;j++){
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i] + " ");
}
}
public static void main(String[] args) {
Algorithm algorithm = new Algorithm();
algorithm.sort(82,88,988,223,184);
}
}
的