面向对象的三大特征:封装,继承,多态
一 . 入门,搞懂对象
1.什么是面向对象?
开发一个一个的对象,把数据交给对象,再调用对象的方法来完成对数据的处理。
public class Student{
String name; //姓名
double chinese; //语文成绩
double math; //数学成绩
public void printTotalScore(){
System.out.println(name +"同学的各科总分是:" + (chinese +math) );
}
public void printAverageScore(){
System.out.println(name +"同学的各科平均分是:" +(chinese +math)/2.0);
}
}
public class Test {
public static void main(String[] args) {
Student s1=new Student();
s1.name="播妞";
s1.chinese=100;
s1.math=100;
s1.printTotalScore();
s1.printAvwrageScore();
Student s2=new Student();
s2.name="播z仔";
s2.chinese=60;
s2.math=100;
s2.printTotalScore();
s2.printAvwrageScore();
}
}
2.程序中的对象是什么?
对象本质上是一种特殊的数据结构。
3.对象是怎么出来的?
class也就是类,也称为对象的设计图(或者对象的模板)。
二 . 对象执行原理,类与对象注意事项
1.如何识别引用类型的变量?
- Student s1=new Student();
- s1变量中存储的是对象的地址,因此变量s1也成为引用类型的变量。
2.类与对象的一些注意事项
- 类名建议用英文单词,首字母大写,满足驼峰模式,且要有意义,比如Student,Car...
- 类中定义的变量也称为成员变量(对象的属性),类中定义的方法也称为成员方法(对象的行为)。
- 成员变量本身存在默认值,同学在定义成员变量时一般来说不需要赋初始值(没有意义)。
数据类型 明细 默认值 基本类型 byte ,short ,char, int,long
float ,double
boolean
0
0.0
false
引用类型 数组,String null 修饰符 数据类型 变量名称 = 值 ;
-
一个代码中,可以写多个class类,但只能一个public修饰,且public修饰的类名必须成为代码文件名。
-
对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了。
-
如果某个对象没有一个变量引用它,则该对象无法被操作了,该对象会成为所谓的垃圾对象。
三. this 关键字
1. this是什么?
this就是一个变量,可以用在方法中,来拿到当前对象。
四.构造器
1.构造器长什么样子:
构造器是特殊的方法,没有返回值类型,方法的名字必须与所在的类名一模一样。
public class Student{
/**构造器*/
public Student(){
...
}
}
2.构造器的注意事项:
- 类在设计时,如果不写构造器,Java会为类自动生成一个无参构造器。
- 一旦定义了有参数的构造器,Java就不会帮我们的类自动生成无参构造器了,此时就建议自己手写一个无参构造器出来了。
五. 封装
1.什么是封装?
就是用类设计对象处理某一事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。
2.封装的设计规范:合理隐藏,合理暴露
public class Student{
public double score; //暴露了
private String name; //隐藏起来了,及外部不能访问
}
六.实体JavaBean
1.什么是实体类,有啥特点?
- 成员变量必须私有,且要为他们提供get,set方法;必须有无参构造器。
- 仅仅只是一个用来保存数据的java类,可以用它创建对象,保存某个事物的数据。