1、方法就是一段可以重复调用的代码段。
2、定义格式:
访问修饰符 返回值类型 方法名(){
}
1、方法重载:方法名称相同,但是参数的类型和个数不同,通过传递参数的个数和类型不同来完成不同的功能。
1、class 类名称{
属性
方法
}
2、声明一个类需要通过一个关键字class。
类与对象的关系
1、类是对某一类事物的描述,是抽象的、概念上的意义,对象时实际存在的该类事物的每一个个体,也被称为对象或实例。
面向对象思想编程
1、程序的发展历程:面向过程、面向对象。
2、解释面向过程和面向对象:
面向过程:不去想做什么样子的盒子,随机取工具制作。
面向对象:先想好做一个什么样的盒子,再去找对应的工具去做。
面向对象三大特征
1、封装性:对外部不可见(例如:电视剧的壳对内部零件的保护)
2、继承:扩展类的功能
3、多态性:方法的重载、对象的多态性
封装
一、封装的概念
生活案例:
生活中的封装比如ATM收款机,会使用一个机器来保证钱的正常流动,给你一个特定的方法来存钱取钱,不会说让你随意的取钱存钱,
在java中,封装也是这个概念,封装就是把过程和数据包裹起来,对数据的访问只能通过已经定义的接口,面向对象计算始于这个基本概念,即现实世界已经被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象
java中封装的理解:
我们在程序设计的时候就追求“高内聚、低耦合”
高内聚:类的内部数据操作细节自己完成,不允许外部干涉;
低耦合:仅对外部暴露少量的方法用于使用。
隐藏对象内部的复杂性、只对外公开简单的接口。便于外界调用从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装的设计思想。在Java中通过权限修饰符关键字private、protected和public实现封装。
二、封装的使用
作用:提高代码的安全性
通过一个属性感受封装:
public class A{
int age;
}
public static void main(String[] args){
A a = new A();
a.age = 500;
}
在这里设置一个A类,有一个年龄属性,但是在主函数里面给年龄设置值的时候,可以胡乱的设置一个值,几百几千的违背常理的设置都不会报错,这个时候就可以使用封装了
public class A{
private int age;
//提供一个返回年龄的方法
public int getAge(){
return age;
}
//提供一个处理年龄误差的方法
public void setAge(int age){
if(age<80){
age=18;
}else{
this.age = age;
}
}
}
public static void main(String[] args){
A a = new A;
a.getAge(81);
system.uot.println(a.setAge);
上面的代码,对于age属性来说,我加了private。这样外界对他的访问就受到了限制,现在我还想加上其他的限制条件,但是在属性本身上没有办法再加了,所以我们通过定义方法来进行条件的添加。
以属性为案例:
进行封装:
①、将属性私有化,被private修饰,加入权限修饰符
②、提供public修饰的方法让别人来访问使用
③、即使外界可以通过