潭州Java中级班(day_08)
JAVASE重点笔记
---------------Jim老师
day07面向对象(一)
1. 什么是面向对象和面向过程
面向对象是一种思想,是相对面向过程而言。
面向对象强调的是具有功能的对象。
面向对象让我们程序员从执行者变成指挥者。
2. 类和对象
类是模板是图纸,对象是根据类创建的一个实体。
3. 变量的分类
变量分类
1.按数据类型分:
基本数据类型: 8种基本数据类型
数值型: byte,short,int,long,float,double
字符型: char
布尔类型:boolean
引用数据类型:一般可以调用属性或者方法
类:字符串,System,Scanner,Person
数组:int[] String[]
接口:
2.按位置分:
成员变量:在类的{}中定义的变量
局部变量:在方法体中定义的变量
/** 这个类是讲述变量的分类。 */ /* 变量分类 1.按数据类型分: 基本数据类型: 8种基本数据类型 数值型: byte,short,int,long,float,double 字符型: char 布尔类型:boolean 引用数据类型:一般可以调用属性或者方法 类:字符串,System,Scanner 数组: 接口: 2.按位置分: 成员变量:在类的{}中定义的变量 局部变量:在方法体中定义的变量 */ public class Demo1Class { int age=30; //成员变量 //main方法也是方法 public static void main(String[] args){ int a=10; //局部变量 } String name="Jim"; //成员变量 }
4. 方法的定义
方法的格式:
访问权限修饰符 非静态/静态修饰符 返回值类型 方法名(形式参数类型1 参数名1,形式参数类型2 参数名2,...)
{
执行语句;
....
....
return 返回值;
}
注意:
访问权限修饰符:public protected 默认的 private
静态修饰符 :static 非静态就是不写
返回值类型 :void代表没有具体的返回值
具体的返回值(我们见得数据类型)
return 返回啥类型,void就变成啥类型。
形式参数类型 :数据类型
参数名 :变量名
参数类型: 形式参数类型,和实际参数类型
/** 这个类是讲述方法的定义。 */ /* 方法的格式: 访问权限修饰符 非静态/静态修饰符 返回值类型 方法名(形式参数类型1 参数名1,形式参数类型2 参数名2,...) { 执行语句; .... .... return 返回值; } 注意: 访问权限修饰符:public protected 默认的 private 静态修饰符 :static 非静态就是不写 返回值类型 :void代表没有具体的返回值 具体的返回值(我们见得数据类型) return 返回啥类型,void就变成啥类型。 形式参数类型 :数据类型 参数名 :变量名 */ public class Demo2Class { public void show(int age,String name,int c){ return ; //代表没有具体的返回值 可以省略不写,jvm会自动添加 } public int[] show2(){ //可以写其他代码 return new int[6]; } public static void main(String[] args){ return ; } }
5. 类的组成
类是由属性和行为组成。
属性:字段,成员变量
行为:方法,功能
/** 这个类是讲述类的组成和创建对象。 */ /* 方法: 功能,行为 属性: 字段,成员变量 */ class Person { //属性 String name; int age; //方法 public void speak(){ System.out.println("说中国话"); } } //public的类必须跟文件名一致 public class Demo3Class { public static void main(String[] args){ //类名 对象名 = new 类名(); //对象名就是变量名 /* new Person()://创建对象,实例化对象,初始化对象,new 对象, pn :把new Person()赋值给pn, pn:就是一个变量名,叫对象名 Person :是指定pn为啥类型 */ Person pn=new Person(); //创建对象,实例化对象,初始化对象,new 对象, Person pn2=new Person();//创建对象 int a=10; //把10赋值给a a:就是一个变量名 int:指定a为啥类型 String name="Jim"; //把Jim赋值给name name:也是变量名 return ; } }
6. 调用类的属性和方法
调用行为跟属性:
1.调用属性:对象名.成员变量名
2.调用行为:对象名.方法名();
注意:对象名.成员变量名要么打印输出,要么赋值给别人,要么给它赋值。不要调用完,就那。
/** 这个类是讲述调用类的属性和方法 */ /* 方法: 功能,行为 属性: 字段,成员变量 调用行为跟属性: 1.调用属性:对象名.成员变量名 2.调用行为:对象名.方法名(); */ class Person { //属性 String name; int age; //方法 public void speak(){ System.out.println("说中国话"); } public String study(){ return "学习JAVASE"; //return 返回啥值,函数就是啥值。 } //String a:形式参数 public void show(String a,int in){ //String a="玖玖", int in=10; System.out.println("show方法"); } public void show(){ //int a=10; System.out.println("show方法"); } } //public的类必须跟文件名一致 public class Demo4Private { public static void main(String[] args){ //类名 对象名 = new 类名(); //对象名就是变量名 /* new Person()://创建对象,实例化对象,初始化对象,new 对象, pn :把new Person()赋值给pn, pn:就是一个变量名,叫对象名 Person :是指定pn为啥类型 */ Person pn=new Person(); //创建对象,实例化对象,初始化对象,new 对象, pn.show("玖玖",10); //玖玖:就是实参 10:实际参数 pn.name="南浔"; //调用属性并且赋值 String str=pn.name; System.out.println("str="+str); // pn.speak();// String str2=pn.study();// System.out.println("str2="+str2); } }
7. Return的使用
return:关键字 返回的意思 一般用来返回值或者结束函数。
1.结束函数
2.返回值
a.没有具体的返回值:在void函数的末尾,可以不写,因为jvm会自动添加
b.有具体的返回值
(1).return返回啥值,void就是啥值类型。
(2).return返回傻子,函数就是傻子。
/** 这个类是讲述return的使用 */ /* return:关键字 返回的意思 一般用来返回值或者结束函数。 1.结束函数 2.返回值 a.没有具体的返回值:在void函数的末尾,可以不写,因为jvm会自动添加 b.有具体的返回值 (1).return返回啥值,void就是啥值类型。 (2).return返回傻子,函数就是傻子。 注意: 1.return后面不能紧跟语句。 */ class Person { public void speak(){ System.out.println("说中国话"); return ; //System.out.println("说中国话");错误 } public static String show(){ return "傻子"; } } public class Demo5Return { public static void main(String[] args){ //test1(); /* 创建对象,实例化对象,初始化对象,new对象 */ Person pn=new Person(); String st=pn.show(); System.out.println("st="+st); } public static void test1(){ int a=10; while(a>1){ System.out.println("a="+a); if(a==5){ return ; //结束函数,不会执行game over! } a--; } System.out.println("game over!"); return ; } }
8. 对象的创建
//类名 对象名 = new 类名(); //对象名就是变量名
/*
new Person()://创建对象,实例化对象,初始化对象,new 对象,
pn :把new Person()赋值给pn, pn:就是一个变量名,叫对象名
Person :是指定pn为啥类型
*/
Person pn=new Person(); //创建对象,实例化对象,初始化对象,new 对象,