今天又到了快乐的一周,今天给大家分销一下基础第六天的学习笔记,希望能帮到大家!
Day06知识点
面向对象和面向过程
面向过程是,自己动手所有的东西都自己弄,亲力亲为
比如:装修,自己量面积,自己画图纸,自己选择材料,自己弄造型。。。等等
面向对象,找人帮助我们完成,谁有这个功能我们就找谁,不需要自己动手。
比如:找装修公司,他们就会帮助我们完成,我们想要的效果。
类与对象的关系
类:是对一类事物的描述(比如手机设计图纸,无法使用手机的功能)
对象:就是把设计图纸实现的出来的手机,可以去使用其中的属性和功能
定义一个类
类:是一个事物的描述,就像是一个图纸,里面有属性和行为。
如何使用一个类
1,导包 import 到他的目录下,如果在同一个目录下就可以不用导包
2,创建对象 类名 对象名 = new 类名();
3,使用类中的属性和方法,对象名点上一个属性,name和age
4,使用方法也是一样,对象名点上一个,eat()
面向对象的三大特征之封装
封装:隐藏代码细节,暴露公共调用方法
1,方法封装
a)我们常常用自定义的方法去封装一个我们写好的功能代码,什么时候想去用了我们去调用,它就是我们最常用也是最简单的封装。
2,private关键字封装
a)private关键字是私用的意思,它所修饰的成员变量只能在本类中去使用。无法再其他实现类中直接去使用和赋值。
b)无法直接去使用private所修饰的成员变量,我们只能用间接的方式去赋值和获取成员变量。就要使用getter和setter方法。
c)成员变量使用private修饰用get和set方法去调用的好处就是保证了数据的安全和对不合理的数据进行检索。
i.注意一点boolean类型的是get和set方法中的get是有区别的
代码:
public class Person{
String name ;
Int age;
boolean male;
public void setMale(Boolean male){
this.male = male;
}
public Boolean isMale(){
return male;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
if(age<0){
System.out.println(“数据不合理”);
}else{
this. age = age;
}
}
public int getAge(){
return age;
}
}
this关键字
1,在程序中如果成员变量和局部变量是相同的变量名的话。
打印输入的时候,谁里的近就用谁的值。这也是代码中的就近原则
2,那成员变量和局部变量名相同,我如何在方法中去使用成员变量的值,这时候关键字this就起到了作用。
3,用this. num就会指向成员变量的值。
代码演示
class Demo{
int num = 10;//成员变量
public viod method(){//成员方法
int num = 20;//局部变量
System.out.println(num); //打印结果是20
System.out.println(this.num)//打印的结果是成员变量的10;
}
}
构造方法
定义格式和注意事项
1,构造方法名字和类名必须一摸一样
2,不能有返回值,void也不能写
3,方法体中不能有return
1,我们在创建person类的时候,系统会默认给我们一个构造方法
2,在main方法创建person的对象的时候,如果person中没有给定任何的构造方法系统就会默认给一个空参构造。
3,如果写上一个有参数构造的话,系统会默认使用有参数构造方法,不会再给一个无参数构造了。这时在main方法场景对象就会报错,需要传值。
4,构造方法是可以进行重载的,所有我们把有参和无参的都定义在类中,这样我们就可以有多种创建方式和多种选择。
Ajie |
|