类和对象-第六天
来源:互联网 发布:周涵成都书店知乎 编辑:程序博客网 时间:2024/05/16 09:22
面向对象三大要素:封装 继承 多态
类的好处
类:抽象
对象:实际存在
包括:属性(静态的描述)和方法(动态的描述)
public class Xxx{
属性
方法
String name;
int age;
public void 方法名(){....}
public 数据类型 方法名(){ return 值;}
}
得到对象 类 对象= new 类();
使用对象属性: 对象.属性
使用对象方法: 对象.方法名()
练习: 猫猫大战
猫类(Cat) hp atk
打架类(Fight) 方法 vs() : 得到两只猫,依次对打,猫的剩余hp=猫原来的hp-另外一只猫的atk,直到一方hp<=0,判断输赢
默认第一只猫先攻击第二猫
主类:调用 vs();
补充:基本数据类型: byte short int long float double char boolean
引用数据类型 :对象 String 数组
万物皆对象
补充:属性: 可以放一切东东
String name
int age;
对象 String 数组
方法三: 带参无返回值 public void 方法名(参数列表){....}
参数列表三要素: 参数类型, 参数数量, 参数顺序
参数列表中的类型可以是一切对象
参数列表格式: 数据类型1 变量名1,数据类型2 变量名2........
搞懂什么是形参,什么是实参
形参:写在方法中 (被传递过来的值)
实参:确确实实的值 (传递过来的值)
形参的名字不一定非要等于实参的名字,只需要他们之间的参数类型, 参数数量, 参数顺序必须要匹配
当我们需要在某个类中得到某个对象
(1) new
(2) 传参
方法的重载:
1:方法必须在同一个类中
2:方法的名字必须相同
3: 方法的参数列表必须不同
练习:
计算类:Calc
方法1:接受一个整数,并且打印他的绝对值
方法2:接受一个整数,并且打印他的平方
方法3:接受两个int整数,求和
方法4:接受两个long整数,求和
方法5,接受两个double小数,求和
方法6:接受两个float小数,求和
要求:方法3,4,5,6需要重载
补充:三元表达式 (三目运算符)
语法格式: 数据类型 变量=条件?值1:值2;
如果条件为真,则变量的值为值1,否则为值2
注意:值1和值2的数据类型应该和变量的数据类型想匹配
它只能用来替换简单的if-else 结构
例子:String str= m>5?"吃饭":"吃面";
练习://有一个 int n;如果输入的字符为a 则n=1,否则n=2;
方法四:带参带返回 public 数据类型 方法名(参数列表){ ...return 值;}
总结1:类中的所有方法
1 public void xx(){}
2 public 数据类型 xx(){return 值;}
3 public void xx(参数列表){}
4 public 数据类型 xx(参数列表){ ...return 值;}
总结2:属性,参数列表,数据返回类型 都可以写一切对象
练习: 喝水问题
Drink类
方法 : drink1() :喝10L水 drink2() :喝20L水
主类:
初始化100L水,打印输出剩余多少水;
先被喝10L水,打印输出剩余多少水;
再被喝20L水,打印输出剩余多少水
-------------------------------------------
对象数组--数组中能够放一切的对象
int[]
String[]
double[]
Cat[] arr=new Cat[10];
语法格式:类名[] 数组名=new 类名[长度];
异常:java.lang.NullPointerException
找错:肯定是.的前面的对象为null
引用数据类型假如在属性中只有申明,则默认为null
兔子类: Rabbit 属性: name speed
比赛类: Match
方法1:getFast() 找出速度最快的那只兔子的名字 打擂台
方法2:arrays() 根据速度从小到大排序兔子的姓名 冒泡排序
主类:初始化3只兔子(默认他门的速度都不相同),装进一个长度为10的兔子数组,然后调用以上两个方法
类的好处
类:抽象
对象:实际存在
包括:属性(静态的描述)和方法(动态的描述)
public class Xxx{
属性
方法
String name;
int age;
public void 方法名(){....}
public 数据类型 方法名(){ return 值;}
}
得到对象 类 对象= new 类();
使用对象属性: 对象.属性
使用对象方法: 对象.方法名()
练习: 猫猫大战
猫类(Cat) hp atk
打架类(Fight) 方法 vs() : 得到两只猫,依次对打,猫的剩余hp=猫原来的hp-另外一只猫的atk,直到一方hp<=0,判断输赢
默认第一只猫先攻击第二猫
主类:调用 vs();
补充:基本数据类型: byte short int long float double char boolean
引用数据类型 :对象 String 数组
万物皆对象
补充:属性: 可以放一切东东
String name
int age;
对象 String 数组
方法三: 带参无返回值 public void 方法名(参数列表){....}
参数列表三要素: 参数类型, 参数数量, 参数顺序
参数列表中的类型可以是一切对象
参数列表格式: 数据类型1 变量名1,数据类型2 变量名2........
搞懂什么是形参,什么是实参
形参:写在方法中 (被传递过来的值)
实参:确确实实的值 (传递过来的值)
形参的名字不一定非要等于实参的名字,只需要他们之间的参数类型, 参数数量, 参数顺序必须要匹配
当我们需要在某个类中得到某个对象
(1) new
(2) 传参
方法的重载:
1:方法必须在同一个类中
2:方法的名字必须相同
3: 方法的参数列表必须不同
练习:
计算类:Calc
方法1:接受一个整数,并且打印他的绝对值
方法2:接受一个整数,并且打印他的平方
方法3:接受两个int整数,求和
方法4:接受两个long整数,求和
方法5,接受两个double小数,求和
方法6:接受两个float小数,求和
要求:方法3,4,5,6需要重载
补充:三元表达式 (三目运算符)
语法格式: 数据类型 变量=条件?值1:值2;
如果条件为真,则变量的值为值1,否则为值2
注意:值1和值2的数据类型应该和变量的数据类型想匹配
它只能用来替换简单的if-else 结构
例子:String str= m>5?"吃饭":"吃面";
练习://有一个 int n;如果输入的字符为a 则n=1,否则n=2;
方法四:带参带返回 public 数据类型 方法名(参数列表){ ...return 值;}
总结1:类中的所有方法
1 public void xx(){}
2 public 数据类型 xx(){return 值;}
3 public void xx(参数列表){}
4 public 数据类型 xx(参数列表){ ...return 值;}
总结2:属性,参数列表,数据返回类型 都可以写一切对象
练习: 喝水问题
Drink类
方法 : drink1() :喝10L水 drink2() :喝20L水
主类:
初始化100L水,打印输出剩余多少水;
先被喝10L水,打印输出剩余多少水;
再被喝20L水,打印输出剩余多少水
-------------------------------------------
对象数组--数组中能够放一切的对象
int[]
String[]
double[]
Cat[] arr=new Cat[10];
语法格式:类名[] 数组名=new 类名[长度];
异常:java.lang.NullPointerException
找错:肯定是.的前面的对象为null
引用数据类型假如在属性中只有申明,则默认为null
兔子类: Rabbit 属性: name speed
比赛类: Match
方法1:getFast() 找出速度最快的那只兔子的名字 打擂台
方法2:arrays() 根据速度从小到大排序兔子的姓名 冒泡排序
主类:初始化3只兔子(默认他门的速度都不相同),装进一个长度为10的兔子数组,然后调用以上两个方法
阅读全文
0 0
- 类和对象-第六天
- 类和对象第六讲
- 第六章 JAVA类和对象
- 第六节:类和对象(一)
- 面对对象第六天
- 第六天面向对象
- 第六章 对象和数据结构
- 黑马程序员_第六天视频学习 Objective-C的基本语法、类和对象
- Python入门 第六天(模块、面向对象、类和实例)
- 第六天:二维数组和 面向对象的思想
- Javascript第六天学习总结日期对象和定时器
- JAVA再学习-第六章对象,类,包和接口
- 第六次实验上机课(类和对象(物联网))
- 类与对象第六题
- JS基础学习第六天:JavaScript对象入门(构造函数和实例对象)
- 第六天 抽象类和接口
- C++ Primer Plus 第六版 第10章 对象和类
- 【读书笔记:C++ primer plus 第六版 中文版】第10章 对象和类
- POJ 1611 The Suspects(并查集求集合的基数)
- 洛谷 P2835 刻录光盘
- 腾讯暑期实习二面
- 关于Html5引用百度地图Api的小功能
- lintcode 比较字符串(Compare Strings ) (Java)
- 类和对象-第六天
- Maven3路程(三)用Maven创建第一个web项目(2)servlet演示
- sklearn.linear_model——梯度提升树(GBDT)调参小结
- CurrentHashMap原理与应用(JDK7版本)
- [NOIP2014]寻找道路
- 理解MySQL——复制(Replication)
- web页面实时刷新之browser sync
- VMware Ubuntu安装详细过程
- 【open-topic】解码复杂度评估