“万事万物皆对象” Everything is object.
对象是Java程序的核心;
OOP:(Object Oriented Programming) 面向对象编程。
对象 Object,instance(实例),以后我们说某个类的对象,某个类 的实例。是一样的意思。
面向过程 :事物比较简单,可以用线性的思维去解决;
面向对象:事物比较复杂,使用简单的线性思维无法解决;
共同点: 面向过程和面向对象都是解决实际问题的一种思维方式 二者相辅相成,并不是对立的。 解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间 复杂的关系、方便我们分析整个系统;具体到微观操作,仍然使用 面向过程方式来处理。
世界是由对象组成的。类可以生成对象,类是对象的抽象。
类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所 应具有的静态和动态属性。
同一个包下的类可以相互调用。
对象和类的关系:特殊到一般,具体到抽象。
类:我们叫做class。
类是模子,确定对象将会拥有的 特征(属性)和行为(方法); 具有相同属性和方法的一组对象的集合; 类是对象的类型 ,不同于int类型:具有方法
定义类的时候,属性和方法不是必须的。
一个源文件中可以有N个类,但是有且只能有一个public修饰的类,并且这个源文件的名称必须和public修饰的类名一致
属性:(成员变量)
语法:
[修饰符] 数据类型 属性名 = [默认值];
注意:
1、修饰符和默认值可以没有,没有的时候系统会根据数据类型对应的给默认值
2、数据类型和属性名一定要有,属性名的定义要符合合法的标识符命名规范
方法:
语法:
[修饰符] 方法的返回类型 方法名(形参列表){
逻辑代码;
}
注意:
1、方法可以没有修饰符,java中的修饰符有四个(public、protected、[default]、private后面会讲)
2、方法的返回类型可以没有,void代表无值返回
3、方法的返回类型可以是任意的数据类型,换句话说可以是基本数据类型,也可以是引用数据类型
4、方法的形参列表也可以没有,如果有多个形参列表的时候,需要用逗号
5、方法的参数传递是值传递,
对象的创建:(实例化的过程)
ClassName objectName = new ClassName();
注意:
1、通过new关键字创建了一个叫objectName的对象,我们称objectName是ClassName一个实例或者说一个对象
如何使用属性和方法:
1、使用对象.成员
2、使用对象.属性 对象.方法 调用
//方法中可以没有修饰符
public class Kind{
{
System.out.print("1");
}
public static void main(String[] args){
Kind kind = new Kind();
}
}//输出结果是1
public class Student{
String name;
int age;
void Night(){
System.out.println("名字:" + name + "年龄:" + age);
}
public void eat(String food){
System.out.println(name + "正在吃:" + food);
}
public static void main(String[] args){
Student student = new Student();
student.Night();
}
}
输出的是它们的默认值。