回顾:
1.方法:
1)封装特定的逻辑功能
2)尽可能独立,一个方法只干一件事
3)可以被反复调用多次
4)避免代码重复,有利于代码维护、有利于团队协作开发
2.方法的定义:
修饰词 返回值类型 方法名(参数列表){
方法体
}
3.方法的调用:
1)无返回值: 方法名(有参传参)
2)有返回值: 数据类型 变量 = 方法名(有参传参);
方法名(有参传参);--------------不建议
4.return:
1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方
2)return; //2.1)结束方法的执行
笔记:
高质量的代码:
复用性好、扩展性好、维护性好、
可移植性好、健壮性好、效率高......
1.什么是类?什么是对象?
1)现实世界是由很多很多对象组成的
基于对象抽出了类
2)对象:真实存在的单个个体
类:类型、类别,代表一类个体
3)类中可以包含:
3.1)所有对象所共有的属性/特征(静的)---------成员变量
3.2)所有对象所共有的行为(动的)--------------方法
4)一个类可以创建多个对象,
同一类型的对象,结构相同,数据不同
5)类是对象的模板,对象是类的具体的实例
2.如何创建类?如何创建对象?如何访问成员?
3.引用类型之间画等号:
1)指向同一个对象Cell c=cc;
2)对其中一个引用的修改会影响另外一个
eg:房子钥匙
基本类型之间画等号:
1)赋值
2)对其中一个变量的修改不会影响另外一个
eg:身份证复印件
4.null:空,没有指向任何对象
若引用的值为null,则该引用不能再进行任何操作了
若操作则NullPointerException空指针异常
任务:
1.完成引用之间画等号与null的演示代码
2.完成经典案例一(打印员工信息)
3.至少重写两次:
1)Cell类,包含:
1.1)成员变量: row,col
1.2)方法: drop(),moveLeft(n),getCellInfo()
2)CellTest类,包含:
2.1)main(){}
2.2)printWall(Cell cc){}
房子:对象
房子钥匙:引用
配一把钥匙:引用
引用
数据类型 引用类型变量 指向 对象
Cell c = new Cell();
引用
数据类型 引用类型变量 指向 对象
Student zs = new Student();
基本类型变量(变量)
int a;
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "LF";
new Student();
new Student();
new Student();
2
步骤:
1)找对象:很多很多小格子
2)抽类:格子类Cell
3)设计类中的成员变量和方法:
4)创建对象并测试
Cell
CellTest
class Cell{ //格子类
int row; //行号
int col; //列号
void drop(){ //下落一格
row++;
}
void moveLeft(int n){ //左移n格
col-=n;
}
String getCellInfo(){ //获取行号和列号
return row+","+col;
}
}
数组------引用类型
类--------引用类型
String----引用类型
1.5
类 对象
月饼模子 月饼
1.4
Student zs = new Student();
Student ls = new Student();
Student ww = new Student();
Student zl = new Student();
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "河北廊坊";
zs.stuId = "001";
zs.eat();
zs.sleep();
zs.study();
zs.abc = 123; //编译错误
Student ls = new Student();
ls.name = "lisi";
ls.age = 26;
ls.address = "黑龙江佳木斯";
ls.stuId = "002";
ls.eat();
ls.sleep();
ls.study();
Student ww = new Student();
ww.name = "wangwu";
ww.age = 27;
ww.address = "山东";
ww.stuId = "003";
ww.eat();
ww.sleep();
ww.study();
class Student{
String name;
int age;
String address;
String stuId;
void eat(){}
void sleep(){}
void study(){}
}
1.3
class Teacher{
String name;
int age;
String address;
double salary;
void eat(){}
void sleep(){}
void teach(){}
}
class Dog{
String type;
String color;
void 看门(){}
void 咬(){}
}
class Car{
String type;
int width;
int height;
double price;
String color;
void start(){}
void run(){}
void stop(){}
void back(){}
}
面向过程弊端:
1)缺乏对数据的封装
2)数据和方法(操作数据)的分离
基本数据类型-------------------不够
数组---------------------------不够
自己造类型---------------------想装什么就装什么
class Emp{ //类、数据类型
String name;
int age;
double salary;
void print(){
System.out.println("name="+name);
System.out.println("age="+age);
System.out.println("salary="+salary);
}
}
public class Test{
public static void main(String[] args){
Emp e = new Emp(); //创建Emp的一个对象
e.name = "zhangsan";
e.age = 25;
e.salary = 5000;
e.print();
}
}
1.方法:
1)封装特定的逻辑功能
2)尽可能独立,一个方法只干一件事
3)可以被反复调用多次
4)避免代码重复,有利于代码维护、有利于团队协作开发
2.方法的定义:
修饰词 返回值类型 方法名(参数列表){
方法体
}
3.方法的调用:
1)无返回值: 方法名(有参传参)
2)有返回值: 数据类型 变量 = 方法名(有参传参);
方法名(有参传参);--------------不建议
4.return:
1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方
2)return; //2.1)结束方法的执行
笔记:
高质量的代码:
复用性好、扩展性好、维护性好、
可移植性好、健壮性好、效率高......
1.什么是类?什么是对象?
1)现实世界是由很多很多对象组成的
基于对象抽出了类
2)对象:真实存在的单个个体
类:类型、类别,代表一类个体
3)类中可以包含:
3.1)所有对象所共有的属性/特征(静的)---------成员变量
3.2)所有对象所共有的行为(动的)--------------方法
4)一个类可以创建多个对象,
同一类型的对象,结构相同,数据不同
5)类是对象的模板,对象是类的具体的实例
2.如何创建类?如何创建对象?如何访问成员?
3.引用类型之间画等号:
1)指向同一个对象Cell c=cc;
2)对其中一个引用的修改会影响另外一个
eg:房子钥匙
基本类型之间画等号:
1)赋值
2)对其中一个变量的修改不会影响另外一个
eg:身份证复印件
4.null:空,没有指向任何对象
若引用的值为null,则该引用不能再进行任何操作了
若操作则NullPointerException空指针异常
任务:
1.完成引用之间画等号与null的演示代码
2.完成经典案例一(打印员工信息)
3.至少重写两次:
1)Cell类,包含:
1.1)成员变量: row,col
1.2)方法: drop(),moveLeft(n),getCellInfo()
2)CellTest类,包含:
2.1)main(){}
2.2)printWall(Cell cc){}
房子:对象
房子钥匙:引用
配一把钥匙:引用
引用
数据类型 引用类型变量 指向 对象
Cell c = new Cell();
引用
数据类型 引用类型变量 指向 对象
Student zs = new Student();
基本类型变量(变量)
int a;
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "LF";
new Student();
new Student();
new Student();
2
步骤:
1)找对象:很多很多小格子
2)抽类:格子类Cell
3)设计类中的成员变量和方法:
4)创建对象并测试
Cell
CellTest
class Cell{ //格子类
int row; //行号
int col; //列号
void drop(){ //下落一格
row++;
}
void moveLeft(int n){ //左移n格
col-=n;
}
String getCellInfo(){ //获取行号和列号
return row+","+col;
}
}
数组------引用类型
类--------引用类型
String----引用类型
1.5
类 对象
月饼模子 月饼
1.4
Student zs = new Student();
Student ls = new Student();
Student ww = new Student();
Student zl = new Student();
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "河北廊坊";
zs.stuId = "001";
zs.eat();
zs.sleep();
zs.study();
zs.abc = 123; //编译错误
Student ls = new Student();
ls.name = "lisi";
ls.age = 26;
ls.address = "黑龙江佳木斯";
ls.stuId = "002";
ls.eat();
ls.sleep();
ls.study();
Student ww = new Student();
ww.name = "wangwu";
ww.age = 27;
ww.address = "山东";
ww.stuId = "003";
ww.eat();
ww.sleep();
ww.study();
class Student{
String name;
int age;
String address;
String stuId;
void eat(){}
void sleep(){}
void study(){}
}
1.3
class Teacher{
String name;
int age;
String address;
double salary;
void eat(){}
void sleep(){}
void teach(){}
}
class Dog{
String type;
String color;
void 看门(){}
void 咬(){}
}
class Car{
String type;
int width;
int height;
double price;
String color;
void start(){}
void run(){}
void stop(){}
void back(){}
}
面向过程弊端:
1)缺乏对数据的封装
2)数据和方法(操作数据)的分离
基本数据类型-------------------不够
数组---------------------------不够
自己造类型---------------------想装什么就装什么
class Emp{ //类、数据类型
String name;
int age;
double salary;
void print(){
System.out.println("name="+name);
System.out.println("age="+age);
System.out.println("salary="+salary);
}
}
public class Test{
public static void main(String[] args){
Emp e = new Emp(); //创建Emp的一个对象
e.name = "zhangsan";
e.age = 25;
e.salary = 5000;
e.print();
}
}