编程有两大思想:
面向过程和面向对象
面向过程的思想:
以实现过程为主体,比如C语言
java的面向对象思想:
以对象为主体进行编码
1、创建对象
2、使用对象
java的对象作用:
是对数据和方法的整合
java如何创建对象
先有一个类,比如A类
class A){. . . }
然后创建该类的对象
A a = new A;
类是一个模板,对象是该模板生成的具体内容
先有类后有对象(参考上面)
类的定义格式
修饰符 class 类名{
属性--->该类的特征 数值概念 ----->成员变量
方法--->该类的功能 使用概念------>成员方法(去除 static)
}
public class A{
String name;//成员变量
int age;//成员变量
//成员方法
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.name = name;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
通过类创建对象
自己写的类、自定义类型也是一个引用类型
格式:
类名 变量名 = new 类名();
Person per = new Person();
java如何使用对象
Person per = new Person();
//对象名.属性;
per.name;
//对象名.方法();
per.getName();
面向对象的三大特征
封装 :
隐藏实现细节 对外提供访问方式 封装有三层效果
1:将代码封装成一个方法 封装方法
2:将属性私用 ,提供get set方法 封装属性
3:将属性和方法 封装在一个类中 封装类
封装的好处
提高安全性 提供复用性
javabean类的写法:
1:类名 public
2:无参数构造器
3:属性私有 get和set方法
权限修饰符
在本类中 一个包下的无关类 其他包下的子类 其他包下的无关类 private 可以 不可以 不可以 不可以 default 可以 可以 不可以 不可以 protected 可以 可以 可以 不可以 public 可以 可以 可以 可以
成员变量和局部变量
成员变量:写在类中方法外
局部变量:写在方法中.
区别:
1:写的位置
一个在 类中
一个在方法中
2:默认值
一个有默认值
一个没有默认值
3:生命周期
一个随着对象的创建而创建 ,对象消失而消失
一个跟随方法,方法的调用而存在 .方法的结束而消失
4:所在内存中的位置
一个在 堆 中
一个 栈 中
public class A{
String name;//成员变量
int age;//成员变量
//成员方法
public void setName(String name//局部变量){
this.name = name;
}
public void setAge(int age){
this.name = name;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
如果成员变量和局部变量 重命名 怎么办?
使用 this
this.变量 ----> 成员变量
变量 --------->局部变量
构造器(构造方法)
特点 :每个对象创建都会执行构造器 --->new 类名();
作用 给成员变量赋值
写法:
方法名必须是 类名
没有 返回值 void也不能写
修饰符 类名(...){}
注意:
构造器存在 重载
你如果不写构造器 默认提供无参数构造 如果你写了 就不提供了