面向对象(OOP)与面向过程(POP)
面向对象的三大特性
封装(Encapsulate)
继承(Inheritance)
多态(Polymorphism)
属性:对应类中的成员变量
行为:对应类中的成员方法
举个栗子:把人比作class 人的属性:身高体重 人的行为:吃饭睡觉
class Person{
String name;
int age;
boolean isMarried;
//属性,或成员变量
public void walk(){
System.out.println("人走路");
}
public String display(){
return "名字是"+name;
}
//方法或函数
}
修饰符 class 类名{
属性声明;
方法声明;
}
说明:修饰符public:类可以被任意访问,类的正文要用{}括起来
public class Person {
//属性,成员变量,类的成员变量可以先声明不用初始化,类成员的变量是有默认值的
String name;//String的默认值是null
int age;
//行为,方法.也叫函数
public void showName() {
System.out.println("姓名"+name);
}
}
Java类的实例化,即创建类的对象
语法格式:修饰符 类型 属性名= 初始值
修饰符private:该属性只能由该类的方法访问
修饰符public:该属性可以被该类以外的方法访问
类型:任何基本类型.或任何类
public class Person{
private int age; //声明private变量age
//private私有的,可以在本类的方法使用,不能再类的外部使用
public String name = "Lila";//声明public变量name
//public公有的,这样的类变量可以在类的外部使用
//不写修饰符也能用??
//实例变量
public static String sex = '男'//static,静态的,这样的变量不需要类实例化成对象就可以直接使用
//直接通过类名.属性调用
//Person.sex
public void penson(Sting moveType){
int i = 0;//局部变量
System.out.println("cisndhidhid")
}
成员变量:
局部变量
语法格式:
修饰符 返回值类型 方法名(参数列表){
方法体语句
}
说明:修饰符:public,private,protected等
返回值类型:return语句传递返回值.没有返回值:void
public class Person{
private int age;
public int getAge(){
return age;//声明方法getAge
}
public void setAge(int i){
age = i;//声明方法setAge,将参数i的值赋给类的成员变量age
}
}
创建一个学生类
/**
* 学生类
* @author 15874
*
*/
public class Student {
public String name; //姓名
public int age;//年龄
public String course;//课程
public String interestst;//兴趣
public void showInfo(){
System.out.println("姓名"+name);
System.out.println("年龄"+age);
System.out.println("课程"+course);
System.out.println("兴趣"+interestst);
}
}
创建一个测试类并创建一个对象进行测试
public class Test4 {
public static void main(String[] args) {
//实例化Person类,也就是创建Person对象
// Person person = new Person();
// person.name = "张三";
// person.showName();
Student stu = new Student();
stu.name = "xiaoming";
stu.age = 12;
stu.course = "yuwrn";
stu.interestst = "daqiu";
stu.showInfo();
}
}
什么是方法(函数)?
修饰符返回值类型方法名(参数类型 形参1,参数类型 形参2,。。。。){
程序代码
return 返回值
}
其中:
形式参数:在方法被调用时用于接收外部传入的数据的变量
参数类型:就是该形式参数的数据类型
返回值:方法在执行完毕后返回给调用它的程序的数据
返回值类型:方法要返回的结果的数据类型
实参:调用方法时实际传给函数形式参数的数据
public class Test4 {
public static void main(String[] args) {
//实例化Person类,也就是创建Person对象
// Person person = new Person();
// person.name = "张三";
// person.showName();
Test4 t4 = new Test4();
int area = t4.getArea(2,3);
System.out.println(area);
}
public int getArea(int x ,int y){
return x*y;
}
}
方法可以调用方法,但是方法中不能定义方法!!!
当一个对象被创建是,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量都是引用类型,如上面的Person及前面讲过的数组。