* 面向对象:围绕的是我这个软件是由哪些部分完成的,或者说是由哪些对象来做的。
* 面向过程:我要解决问题,我要做哪些事情,它的完成流程是怎样的,就问题解决问题.
* 属性是指对象身上有什么值数据。
* 行为是对象可以做什么,或者我们想这些对象做什么。
*
* 对象因关注而产生。
* 类是对象的抽象,对象是类的实例。
* 类是具有相同属性和行为的一组对象的集合。
* 在软件系统中,我们应类来模拟现实生活中的实体。
*
* 书写Java类:
* Java中的类用关键字class声明。
* Java源代码文件中只能包含一个公用(public)类,文件名必须与公用类的类名相同,文件扩展名为".java"。
//数据类型 变量名=
Student stu=new Student();//产生对象的语法
/*
* 数属性的默认初始值:基本数据类型为0,引用数据类型为null
*
* Student stu ---只会在内存产生一个四个字节的变量,
* 这个变量存放即将要指向真正的Student对象的引用。
* 所以又被称之为“对象名空间”
*
* new student() ---产生一个新的student对象,
* 该对象具备一个整体的空间存放各属性,
* 此空间的大小由对象身上的属性的大小总和决定。
*
* 类和对象的关系:
* 类是模版,不能够直接使用,对象才是具体的实际存在的,所以对象又被称之为某个类的实例。
* 通过类产生对象的动作被称之为“实例化”。
*/
//操作对象 ----(属性和方法):对象加“.”操作符
/*
* “.”操作符理解为“的”。
* stu的name =====>> stu.name
* stu的age =====>> stu.age
* stu的study =====>> stu.study
*/
/*
* 对象的销毁是由Java中的垃圾回收机制(GC)来完成的。
* 它有其自身的算法规则,程序员是没有办法通过代码控制:控制它什么时候回收,回收谁。
* 在垃圾回收机制的众多算法中有一条基本规则:它会主动回收没有引用指向的对象。
* 所以:
* 1、如果想让某个对象在程序途中被回收,那么我们可以主动把它指向的引用赋值为null。
* 2、如果对象的引用变量(对象名空间)是个局部变量,那么当它所属的模块执行结束,这个变量的生命周期就到头了,
* 变量会消失,那么它所指向的对象也就没有引用指向了,也会被回收。
* 3、程序员在代码级别只有一句代码可以和垃圾回收之间产生交集。System.gc();
* 注意:这句代码的作用不是主动调用垃圾回收,而是召唤垃圾回收,但是辣鸡收集器想不想收,什么时候收,收哪些垃圾,还是由它自己决定。
*
*/
package com.lovo.javaOO01.bean;
/*
* 定义了一个学生(Student)类
*
* 定义类的本质就是在定义一中数据类型。
* 类可以是一种比基本数据类型复杂的多的数据类型,它由属性和行为组成。
* 属性可以有多个,而且各有各的数据类型。
* 行为是类自带的方法,可以直接完成各种属于该类的对象的操作。
*/
public class Student {
/*
* 属性是类身上的值数据,其形式就是变量属性和常量属性。
*
* 变量属性:声明语法采用的是变量的语法,只是比之前的普通变量一个访问修饰符。 在效果上,该类所有的对象都会自动具备该属性,但是各个对象可以有各自不同的值。
*
* 常量属性:声明语法采用的是常量的语法,也只是多了访问修饰符。 在效果上,该类所有的对象都会自动具备该属性,只是值都一样,且不能更改。
*
* 属性的变量常量和Java基础学的变量常量有何区别?
*
*/
/** 姓名 */
private String name;
/** 年龄 */
private int age;
/** 成绩 */
private int[] score;
/** 班级 */
private final String CLASS_NAME = "J174";
/*
* 行为:在语法表现上,就是方法的定义。 它是类的组成部门,表示对象能够做什么事情或提供什么功能。
* 在面向对象中,static是一种特殊情况,90%的方法都是没有static的。 Java基础只是为了避开面向对象的概念。
*/
/**
* 自我介绍
*/
public void introduce() {
System.out.println("我是" + name + ",今年" + age + "岁");
}
public void study(String lesson) {
System.out.println("我喜欢学习,我热爱" + lesson);
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
public class StudentBean {
/*
* 访问修饰符一共三个关键字,四种情况。
* 现在我们只掌握两种:public,privite
* public修饰的属性或方法,可以在任意位置访问
* private修饰的属性或方法,可以在本类中访问
*
* 变量属性基于Java的官方规范,应该定义为private,然后提供get/set,让外部操作取值/赋值
* get方法被称之为:访问器
* set方法被称之为:修改器
*
* 两者在格式和命名上,都有标准规范。
*/
private String name;
private int age;
/*
* 当全局变量(属性)和局部变量重名时,会默认使用局部变量。
*
* 在这种情况下,要特指全局变量(当前类的对象),需要在全局变量前面+“this.”操作。
*
* 此时的this相当于生活中每个对象说的“我”,指的是当前对象。
*
* 好处:在开发中,this,会有提示,可以提高开发效率。
*/
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setAge(int age) {
this.age = age;
}
}