面向对象:
java语言是一种面向对象的程序语言设计,二面向对象的思想是一种程序设计思想,我们在面向对象思想引导下,使用java语言设计、开发计算机程序,这里的对象泛指实现中一切事物,每个种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实事物,将事物的特征、行为特征抽象出来,描述计算机事物的设计思想。他区别于面向过程思想,强调的是通过对象的行为来实现功能,而不是自己一步一步的去操作实现。
特点:
类:是一组相关属性和行为的集合。可以看成是一类的模板,使用事物的属性合行为特征来描述该事物。
现实中,描述一类事物
属性:就是该事物状态信息。
行为:就是该事物能做什么。
什么是对象
对象:是一种的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
类是对一事物的描述,是抽象的。对象是一类事物的实例,视具体的。
雷士对象的模板,对象是类的实体。
类的定义
事物于类的对比
实现世界的一类事物
属性:事物的状态信息
行为:事物能够做什么。
java中用class描述事物也是如此;
成员变量:对应事物的属性
成员方法:对应事物行为
定义格式:
public class Student {
//成员变量
//成员方法
}
定义类:就是定义类的成员,包括我们的成员方法和成员边量
成员变量:和以前定义变量一样,只不过位置发生了变化,在类中,在方法外。
成员方法:和以前定义方法一样,只不过把static关键字去掉而已。
public class Student {
//成员变量 String username;
//姓名 int age;
//年龄
//成员方法
public void study(){
System.out.println("学习的一个类");
}
public void eat(){
System.out.println("吃饭!");
}
}
对象的实用:
类名 对象名=new();访问我们类中的成员方法;
对象名. 成员变量
对象名.成员方法
public class Demo {
public static void main(String[] args) {
//创建对象的方法 Student student=new Student();
student.username="苏辉";
student.age=30;
student.eat();
student.study();
System.out.println(student.username);
Student student1=new Student(); System.out.println(student1.username);
}
}
成员默认值
整数:byte,shot int long 0
浮点型 float double 0.0
字符(char):’\u0000’
布尔类型 ;false
引用类型:数组 接口 类 :null
```javascript
`public static void main(String[] args) {
//创建我们的手机的对象
Phone phone=new Phone();
phone.brand="华为";
phone.color="白色";
phone.price=3000;
add(phone);
System.out.println(phone.price);
}
public static void add(Phone phone){
phone.price=4000;
System.out.println(phone.price);
System.out.println(phone.color);
System.out.println(phone.brand);
}`
在类的位置不同:
成员变量:在类中,方法外
局部变量:方法中或在方法申明上。
作用范围也不一样:
成员变量:在类中
局部变量:在方法中
初始化不同:
成员变量:有默认值
局部变量:没有默认值,必须先定义,赋值,在使用。
在内存的位置不同:
成员变量:
随着对象的创建而存在,随着对象的消失而消失。
局部变量:随着方法的调用而存在,随着方法的调用完毕就消失。
封装:封装可以被认为是一个保护屏障,防止该类的代码和数据被其他的类随意访问。
原则:
把我们的类中的属性隐藏起来,如果要访问我们的属性,提供公共方法让他访问。
封装步骤:
1、使用我们的private(私有的)修饰我们的属性
2、对需要访问的成员变量,提供对应的get和set方法;
封装的操作---private关键字
1 private是一个权限修饰符,代表最小的权限
2可以修饰我们成员变量,也可以修饰我们的方法
3、被private修饰后的成员变量和成员方法,只能在本类中使用
```java
public class Phone {
//成员变量 私有成员变量
private String brand;
//品牌
private int price;
//价钱
private String color;
//颜色
public String getBrand() {
return brand;
}
public int getPrice() {
return price;
}
public String getColor()
{
return color;
}
public void setBrand(String b) {
brand = b;
}
public void setPrice(int p) {
price = p;
}
public void setColor(String c) {
color = c;
}
}
this含义:
this代表所在的类当前对象的引用,及对象的自己的在引用。
重点:方法被哪个对象在用,方法中的this就代表哪个对象,即谁在调用,this就代表谁
```java
public class Phone {
//成员变量 私有成员变量
private String brand;//品牌
private int price; //价钱
private String color;//颜色
//alt+insert
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
public class Demo {
public static void main(String[] args) {
Phone phone=new Phone();
phone.setColor("红色");
System.out.println(phone.getColor());
}