面对对象的基本概念
1、面向对象:
基本思想是把问题看成是若干个对象的组成,这些对象之间是相互独立的,但又可以相互配合,共同实现程序的任务和功能。
2、对象:
用来描述客观事物的一个实体
3、类:
是具有相同属性和方法的集合。类定义了对象会拥有的特征(属性)和行为(方法)
定义类
1、定义类
访问修饰符 class 类名{
//代码
}
2、属性
访问修饰符 数据类型 属性名;
3、方法
访问修饰符 返回类型 方法名(参数类型 参数名1,参数类型 参数名2,...){
//代码
}
创建和使用对象
1、创建对象
类名 对象名=new 类名();
2、使用对象
对象名.属性
对象名.方法名()
3、对象数组
成员方法
1、带参数的方法
public void work(String content){
System.out.println(this.name+"的工作理念"+contect);
}
2、方法重载
定义:同一个类中定义多个同名的方法,但每个方法的参数类型或参数个数不同
特点:方法的返回值不作为判断方法是否重载的依据
优点:是对原有方法的升级,可以根据参数的不同,采取不同的实现方法,而且不需要编写多个名称,简化了调用方法的代码
成员变量
1、成员变量的作用域
定义在方法外部
2、局部变量作用域
定义在方法的变量,局部变量
3、成员变量和局部变量的区别
·作用域不同
·初始值不同
·同一个方法中,不允许有同名的局部变量,不同方法中可以有同名的局部变量
·局部变量和成员变量可以重名,同时使用时,局部变量有更高的优先级
4、数据类型
基本数据类型和引用数据类型(类,数组,接口),对于基本的数据类型,改变一个变量的值不会影响另一个变量的值;对于引用变量类型,则会印象。
构造方法
1、定义
进行数据的初始化
访问修饰符 方法名([参数列表]){
//代码
}
public class Person {
//定义属性
String name;
String gender;
int age;
//无参构造方法
public Person(){}
//有参构造方法
public Person(String name,String gender,int age){
//下面这段是有参固定格式,不要忘了
this.name=name;
this.gender=gender;
this.age=age;
}
}
~构造方法没有返回值
~默认构造方法没有参数
~构造方法的方法名和类名相同
2、构造方法重载
3、this
(1)this可以解决成员变量和局部变量的冲突
(2)使用this调用成员方法
(3)用this调用重载的构造方法,必须是构造方法的第一条语句
有返回值的方法在调用时必须被对应返回值类型接收,否则相当于没有返回值
public class Student {
//定义属性
String name;
int age;
double height;
double weight;
//定义方法
public void show(){
System.out.println("我叫:"+name+"年龄:"+age+"身高是:"+height+"体重是:"+weight);
}
}
对象:
定义:有一组属性和方法()构成,是一个具体的实例,是类的具体化
对象的定义与使用:(创建一个Student类叫s的对象)
类型 对象名=new 类型();//关键字为new,用于创建对象
对象名.属性名=值;//属性的赋值
对象名.方法名();//调用属性的方法
public class TestStudent {
public static void main(String[] args) {
Student s=new Student();
s.name="琼琼";
s.age=32;
s.height=137;
s.weight=120;
s.show();
}
}
方法调用:
方法之间允许相互调用,实现重用,提
高效率。
一个类里的方法,直接调用
不是一个类里的方法,先创建类对象,然后使用“.”调用