类与对象
Java这门语言,是一门面向对象的语言;
C++ C# Java Java是纯面向对象语言;
程序设计思想:
- 面向过程的设计思想 ,C
- 面向对象的设计思想;涉及到那些对象 对象和对象之间有没有关联 合适的方法在合适的类里面;其实是对现实问题的抽象 跟容易让人理解
面向对象三大特征:
封装 继承 多态
1.1.类与对象
- 类是一个抽象的概念,是一组对象的蓝图,是把一组对象相同的特征(属性)和功能(方法)抽取出来
- 类的组成有 属性 和方法
- 对象是类的一个具体的实例(看得见摸得着的具体的实例)
1.1.1.如何定义一个类
1.属性(或者称为 实例变量/成员变量)
- 成员变量的类型可以是任何数据类型
- 成员变量有默认值,是其数据类型的0值,引用类型默认值是null
- 成员变量的作用域是整个类体
- 每个对象的成员变量有不同的存储空间
2,方法是类具有的功能;该类的所有对象共享该方法
3,类的定义
public class Student {
/**
* 属性
* 方法 (功能)
*/
String name; //默认值是 null
boolean age; // false
char gender;
int[] aa; // 默认值是 null
public void study() {
System.out.println(name);
System.out.println("==");
}
public void eat() {
System.out.println("会吃饭");
}
}
1.1.2.对象的创建和使用
- 使用关键字new
// 使用关键字 new
Student stu1 = new Student();
- 访问对象属性/方法
public static void main(String[] args) {
// 使用关键字 new
Student stu1 = new Student();
// 如何访问对象方法/属性
stu1.study();
System.out.println(stu1.name);
}
1.1.3.成员变量和局部变量的区别
- 声明的位置不同,局部变量在方法体种声明,成员变量在类体种声明
- 作用域不同,局部变量的作用域是方法体,成员变量的作用域是整个类体
- 局部变量使用之前一定要赋值才能使用,成员变量有默认值(JVM给的)数据类型的0值
- 当成员变量和局部变量重名 的时候,优先使用局部变量
1.1.4.构造方法(构造器)
- 用来完成对象的初始化动作,给成员变量赋了初始值
- 构造方法的方法名和类名一样,没有返回值
- 如果没有添加构造方法,会有一个默认的无参构造方法
- 如果自己写了构造方法,不会再有默认的构造方法了
public class Student {
/**
* 属性
* 方法 (功能)
*/
String name; //默认值是 null
int age; // false
char gender;
public Student(String a, int b, char c) {
name = a;
age = b;
gender = c;
}
public void getMessage() {
System.out.println("学生姓名:" + name + "学生年龄: " + age + " 学生性别f:" + gender);
}
public void study() {
String name = "娜美";
System.out.println(name + "正在学习");
}
public void eat() {
System.out.println("会吃饭");
}
}
使用
Student stu1 = new Student("路飞",19,'m');
stu1.getMessage();
stu1.study();
1.1.5.构造方法的重载
- 有多个构造方法
public Student() {
}
public Student(String a, int b, char c, Computer com) {
name = a;
age = b;
gender = c;
computer = com;
}
案例,描述每个学生拥有一台电脑
public class Student {
String name; //默认值是 null
int age; // false
char gender;
Computer computer; //null
public Student() {
}
public Student(String a, int b, char c, Computer com) {
name = a;
age = b;
gender = c;
computer = com;
}
public void study() {
System.out.println(name + "正在使用" + computer.brand + " 学习");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192966.html