计算机中的对象:
计算机中的对象是将复杂的客观事物,在计算机中的表现形式
对象的组成:
属性,代表对象有什么,静态部分
方法,代表对象能做什么,动态部分

在计算机中使用来描述对象

什么是类?

  1. 类是对象共性的抽象
  2. 客观对象在人脑中的主观反映, 或者说类是人对对象的认识
  3. 类是对象的模板
  4. 对象是类的实例

假如说 一条狗,你第一想到的是什么,(四条腿,有尾巴,会叫)
这就是人脑的主观反映,狗就是一种类,种类。

如何编写一个类:

一个源文件中可以写多个类,但只能写一个公开类,公开类类名要和文件同名
属性: 其实就是定义变量
局部变量:定义在方法内部的变量,就叫局部变量,包括方法的形参;
先赋值,后使用
定义开始,到定义的代码块结束

类的组成
属性:成员变量
定义在类的内部,方法外部
语法:数据类型 变量名 = 变量值;
属性的默认值:
数值类型:0 | 0.0
字符:’\u0000’
布尔类型:false
对象(引用)数据类型、String :null

		    成员变量           和        局部变量 的区别
			
定义位置    类以内,方法以外             方法内部
作用范围    本类有效                     定义行开始,到所在的代码块结束
默认值      具有默认值                   没有默认值,必须先赋值后使用
命名冲突    局部变量优先                 相同作用范围内 不允许命名冲突

实例变量:
1, 有默认值
2, 作用范围,至少是全类的内部
3, 实例变量和局部变量可以命名冲突,冲突的时候局部优先,两个局部变量不能命名冲突

Public class TestClass{
}
Class Student{
	String name;
	Int age;
	Double score;
}

局部变量和实例变量的区别:
java中类的概念、基础编码,方法重载_java类的概念
方法:成员方法
static:不是方法的要求
定义在类的内部,其他方法外部
语法:

public 返回值类型 方法名(形参列表){
				//方法的实现
			}

方法的声明:对象能做什么(声明比实现更重要)
修饰符 返回值类型 方法名(参数表) 抛出的异常
修饰符可有可无,不分前后,修饰符在前,返回值在后。

方法的实现:对象怎么做

什么是方法的重载(overload):
在同一个类中定义多个名字完全相同的方法

要求:参数列表不同,与返回值类型无关
参数类型,参数个数,参数顺序

编译器会根据传入的实参来匹配类中对应的方法
如果能够精确匹配,就精确匹配;若不能精确匹配,就近向上匹配
但是需避免混淆

方法重载的好处:提高代码的灵活性,屏蔽了差异

下面展示一下重载的使用:

class TestOverlode{
	public static void main(String[] args){
		A a = new A();
		//a.m1();
		//byte b = 10;
		//a.m1(b);
		a.m1(10,20.0);
		a.m1(20.0,10);
		
		a.m1(10.0,5);
	}
}

class A{
	public void m1(){
		System.out.println("无参");
	}
	
	public int m1(int a){
		System.out.println("int...");
		return 10;
	}
	public int m1(short a){
		System.out.println("short...");
		return 10;
	}
	public void m1(int a,double b){
		System.out.println("int  ,double ...");
	}
	public void m1(double b,int a){
		System.out.println("double  ,int ...");
	}
	public void m1(String s){
		System.out.println("String...");
	}
}