面向对象编程
世间万物皆对象,在Java的观念中,把一切都看作对象,但是你操纵的确是一个对象引用。在Java中一旦创建了一个引用,就希望它能与一个新的对象继续关联,通常使用new操作符来实现这一目的。new的意思是,给我一个新对象,如果你不想相亲,自己new一个对象就好了,祝你下辈子幸福
对象本质上是一种特殊的数据结构
calss也就是类,也成为对象的设计图(或者对象的模板)
面向对象有啥好处?
凡是找对象的编程套路,更加符合人类思维习惯,编程也会更加直观。
对象是啥?如何得到?
对象就是一种特殊的数据结构
对象是用类new出来的,有了类就可以创建出对象。
对象在计算机中的执行原理?
Student s1=new Student();
每次new Studnt(),就是在堆内存中开辟一块内存区域代表一个学生对象
s1变量里面记住的是学生对象的地址
类和对象的注意事项
1.类名建议用英文单词,首字母大写,满足驼峰模式,要有意义,比如Stduent
2.类中定义的变量也称为成员变量(对象的属性),类中定义id方法也成为成员方法(对象的行为)
3.成员变量本身存在默认值,在定义成员变量时一般来说不需要赋予初始值
4.一个代码文件中可以定义多个class类,但只能一个用public修饰
5.对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了
6.如果某个对象没有一个变量引用它,则该对象无法被操作了,该对象就会称为所谓的垃圾对象
成员变量 局部变量
最大区别就是生命周期不同,成员变量与对象共存亡,局部变量随着方法的调用而生,随着方法的运行结束而亡
面向对象基础语法:
this
this就是一个变量,可以用在方法中,来拿到当前对象
this的应用场景
this主要用来解决:变量名称冲突问题的,当对象的成员变量与方法内部变量的名称一样时,导致访问冲突问题的
构造器
一个特殊的方法,没有返回值类型声明,名称必须与所在类的名称一模一样
注意:类在设计时,如果不写构造器,Java是会为类自动生成一个无参构造器的
一旦定义了有参构造器,Java就不会帮我们的类自动生成无参构造器,此时就建议自己手写一个无参数构造器出来了
封装
封装就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去
封装的设计规范:合理隐藏,合理暴露
在代码层面通过public(公开)和private(私有)进行修饰
合理隐藏
用类设计对象处理某一个事物的数据时,应该把要处理的类用private进行修饰
修饰的成员只能在本类中访问,其他地方不能直接访问呢
合理暴露
一般时提供方法,让外界通过方法来合理访问
实体类JavaBean
一种特殊的类
这个类中的成员都要私有,而且要对外提供相应getXxx,setXxx方法
类中必须要有一共公共无参的构造
实体类有啥应用场景?
实体类的对象只负责数据存取,而对数据的处理交给其他类的对象来完成,以实现数据和数据业务处理相分离