目录
一,简要概述
1,类与对象是什么
类就是一类对象的统称。对象就是这一类具体化的一个实例
2,面向对象编程的核心:
1,找对象;2,创建对象;3,使用对象
二,类和类的实例化
对象由类产生,而由类产生对象就是实例化过程,一个类可以产生多个对象
Java使用关键字class来声明类
1,声明类的基本语法:

2,实例化对象
使用 . 来访问对象中的属性和方法.(引用.属性/引用.方法)
三,类的成员
类的成员可以包含以下:字段、方法、代码块、内部类和接口等
1,字段
*字段也称为属性或成员变量
*定义在类的内部,方法的外部
**(引用.属性)
*默认值规则:
*成员变量如果没有初始化会被赋予默认值;而局部变量如果没有初始化就会报错
*null不指向任何对象
*字段可以就地初始化但不建议
2,方法
**(引用.方法)
四,引用需要注意的问题
五,static关键字
1,修饰属性
成员变量被static所修饰就分为静态成员变量和普通成员变量
2,修饰方法
普通成员方法当中不能定义一个静态的成员变量
如果在方法内部它是一个局部变量,局部变量的作用域在方法内部,如果被static修饰的,就要全局可见,矛盾了
普通方法内部可以调用静态方法
因为静态方法不依赖于对象,相反,在静态方法的内部不可以调用普通的成员方法
要想在静态方法内调用普通的成员方法必须通过引用
六,封装
封装,继承,多态是面向对象思想的主要特征,不是Java独有
1,封装是什么?
语法层次上:字段和方法都被private修饰,此时就说把这个字段或者这个方法进行了封装
public,private都叫做访问权限修饰限定符
private修饰的字段和方法只能在当前类当中使用,不能在类外使用
如果需要在类外使用private修饰的字段或方法,则需要用getter或setter方法
2,getter或setter方法
getName 即为 getter 方法, 表示获取这个成员的值. setName 即为 setter 方法, 表示设置这个成员的值
注意:当set方法的形参名字和类中的成员属性的名字一样的时候,如果不使用this, 相当于自赋值. this 表示当前实例对象的引用.
3,封装的意义
安全、降低了对类的使用成本
七,构造方法
构造方法是一种特殊方法, 使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作.
实例化过程:
1,为对象分配内存空间 ;
2,调用对象的构造方法
构造方法无返回值,方法名称和类名一样
如果类中没有提供任何的构造函数,那么编译器会默认生成一个不带有参数的构造函数
若类中定义了构造方法,则默认的无参构造将不再生成.
构造方法支持重载. 规则和普通方法的重载一致
构造方法无返回值,并不是void,而是根本没有返回值这个选项
八,this关键字
1,this的用法:
(1)调用属性:
(2)调用方法:
(3)调用构造方法:
this()只能放在构造方法的第一行当中
九,代码块
1,分类:
(1)本地代码块
方法内部定义的代码块
(2)实例代码块(构造代码块)
类的内部,方法的外部,一般用于初始化实例成员变量
(3)静态代码块
一般用于初始化静态成员属性
静态代码块不依赖对象,不能用this
(4)同步代码块
2,代码块的出现,只是为了在合适的时候处理有些数据
3,代码块的执行顺序:
静态代码块----实例代码块----构造方法
静态代码块只能被执行一次!
如果都是静态的,和定义顺序有关
十,toString方法
用自己的toString,鼠标右键---Generate---toString
十一,匿名对象
调用匿名对象操作:new Student().getName(),sout
调用匿名对象或方法每次都需要新new一个对象