继续Java的学习,今天java小白来到了面向对象这一关,来pk一下这个大魔王。(学完之后感觉东西真的挺多的 还需要多多练习)
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,处理每一个细节。
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人来做这件事。
(面向过程的思维到面向对象的思维->执行者转变为指挥者)
类是对一类事物的描述,是抽象的,例如马。对象是一类事物的实例,是具体的,例如我看到的现在在我眼前的这一匹马。
类是对象的模板,对象是类的实体。(对象有了类得以存在)
属性(成员变量):是什么
行为(成员方法):能做什么
定义一个类,模拟“学生”
public class Student{//类名是大驼峰格式
String name;//成员变量 姓名
int age;//成员变量 年龄
public void eat(){//成员方法 由于没有返回值 便用void
System.out.println("吃饭");
}
}
注意事项:
1.成员变量是直接定义在类当中的,在方法外边
2.成员方法不要写static关键字(像public static void main(String[] args){}就有关键字static)
1.导包:指出需要使用的类,在什么位置。
import 包名称.类名称;(对于当前同一个包的情况,可以省略导包语句不写)[涉及到一些开发软件,像IDEA,可以自行了解]
2.创建格式
类名称 对象名 = new 类名称();Student stu = new Student();
3.初步使用
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名
//创建一个学生对象(默认跟之前定义的类在同一个包中)
public class Demo01{
public static void main(String[] args){
Student stu = new Student();//创建对象
System.out.println(stu.name);//输出默认值null
stu.name = "xiaoming";//成员变量赋值
System.out.println(stu.name);//输出xiaoming
stu.eat();//输出吃饭
}
}
1.定义的位置不一样
局部变量:在方法中
成员变量:在方法外部,直接写在类当中
2.作用范围不一样
局部变量:只有方法当中才可以使用
成员变量:整个类都通用
3.默认值不一样
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
关键字private
在标准的类的定义中,所有的成员变量都需要private的修饰
private String age;
一旦使用private进行修饰,在本类当中当然可以随意访问。但是超出范围之外不能用对象.成员变量名直接进行访问,需要定义getXXX和setXXX间接访问.(变量名boolean类型除外 要用isXXX)
public class Student{
private String name;
public void setName(String str){//调用setName赋值
name = str;
}
public String getName(){//调用getName获取
return name;
}
}
关键词this
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量,如果需要访问本类中的成员变量,可以使用关键字this
使用格式:
this.成员变量名
public class Student{
private String name;
public void setName(String name){//调用setName赋值
this.name = name;//由于局部变量和成员变量一样 使用this进行赋值
}
public String getName(){//调用getName获取
return name;
}
}
在创建对象时默认调用的成员方法
格式:
public 类名称(参数类型 参数名称){
方法体
}
public class Student{
private String name;
//构造方法可分为有参数和无参数
public Student(){
System.out.println("无参数方法执行了");
}//当在另一个类中执行Student stu1=new Student();会输出 无参数方法执行了
public Student(String name){
System.out.println("有参数方法执行了");
this.name=name;
}//当在另一个类中执行Student stu2=new Student("xiaoming");会输出 有参数方法执行了
public void setName(String str){//调用setName赋值
name = str;
}
public String getName(){//调用getName获取
return name;
}
}
注意事项
定义一个标准的类 通常拥有四个组成部分
这次面向对象的文章中,关于对象的内存使用我并没有涉及,出于如果仅仅用文字叙述很难表达清楚。大家感兴趣可以自己去网上搜寻一下。与君共勉。
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.