类和对象类的成员
属性
属性 VS 局部变量 方法
方法重载可变个数形参方法参数的值传递机制递归方法 构造器匿名对象javaBean 关键字
returnthispackageimport 三大特性
封装性
权限修饰符 项目
面向对象学习的三条主线
java类及类的成员:属性,方法,构造器,代码块,内部类面向对象的三大特征: 封装性,继承性,多态性,(抽象性)其他关键字:this,super,static,final,abstract,interface,package,import 类和对象 类: 抽象的概念(类是设计的重点)
对象:类的实例
属性 = 成员变量 = filed = 域字段
方法 = 成员方法 = 函数
class Person{String name;int age = 1;public void eat(){System.out.println("吃饭");}public void sleep(){System.out.println("睡觉");}public void talk(){System.out.println("说话");}}
类和对象的使用
创建类,设计类的成员创建类的对象通过”对象.属性“ 或 ”对象.方法“ 调用对象的结构多个对象,每个对象都独立的拥有一套类的属性。(非static的)
属性 VS 局部变量 在类中声明的位置不同
属性:直接定义在类的一对{}内
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
默认初始化值
属性有默认初始化值
局部变量没有默认初始化值,意味着局部变量需要显式赋值
内存中位置不同
方法权限修饰符 返回值类型 方法名(形参列表){方法体}
方法内可以调用当前类的属性 和 方法
方法重载 同一类中,允许存在同名方法,只要它们的参数个数或者参数类型不同即可。
跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!
jdk5.0后加入
//jdk5.0以前: 采用数组形参来定义方法,传入多个同一类型变量public static void test(int a,String[] books);//jdk5.0以后:采用可变个数形参来定义方法,传入多个同一类型变量public static void test(int a,String...books);
方法参数的值传递机制 基本数据类型:形参接收到的是实参的真实值
引用数据类型:形参接收到的是实参的引用地址值
构造器:创建对象,初始化属性
如果没有显示定义:系统默认提供一个空参构造,权限和类相同定义格式:权限修饰符 类名(形参){}构造器可以重载如果显示定义构造器后,系统将不提供默认空参构造一般会提供一个空参构造器,创建对象不止有new 的方式 还有 反射等方式一般会用到空参构造
属性赋值的先后顺序:
默认初始化 --> 显示初始化 --> 构造器中赋值 --> 通过"对象.方法" 或 “对象.属性” 的方式,赋值
创建的对象没有显式的赋值给变量名
匿名对象只能使用一次
一般用在方法参数传递中
符合一下标准
类是公共的
有无参的公共构造器
有属性,具有对应的get,set方法
用户可以使用JavaBean将功能、处理、值、数据库访问 和 其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序使用这些对象。用户可以认为JavaBean提供了一种随时随地的赋值粘贴功能
关键字 return 结束一个方法,结束并返回一个数据
return后不能有执行语句
this:当前对象
可以区分形参和属性同名的情况等
this调用构造器:需要出现在第一行,且不能循环调用
为了更好的管理项目中的类,提供包的概念
需要声明在源文件的首行
隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。高内聚,低耦合
问题引入:
属性的封装性,将属性声明为私有的(private),只能通过方法调用,不能直接使用对象点的方式调用
方法调用时可以对属性进行判断处理,这就是封装性的体现
类 :缺省,public
属性,方法,构造器,内部类
private、缺省、protected、public
客户信息管理