20220718 十组 袁清清
Java学习序列4
今日重点
-
面向对象
-
访问权限修饰符
-
成员方法
-
方法的重载
-
不定长参数
-
构造器
面向对象
把整个需求按照特点,功能划分,将这些存在共性的部分封装成类,类实例化之后才是对象,让对象解决问题。
例子:送一个人一个物品,找个店,买个东西,不管是店家还是物品都是现实存在的,这个店家和物品都可以是对象,
所有的类都是数据类型,都是引用数据类型,引用数据类型的默认值为null
成员变量:变量声明在类里
在JAVA中,万事万物皆是对象。
在Linux中,万事万物皆是文件。
访问权限修饰符
1.public 共有的,公共的 权限最大,只要是public声明的方法,只要在同一个工程中,都能用。
·可以放在类、属性、方法、构造器上
2.protected 受保护的:可以跨包,如果跨包必须是它的子类
可以放在属性、方法、构造器上
3.默认的(啥也不写)default:只有当前包下可以访问(把包导进来也不行)
·可以放在类、属性、方法、构造器上
4.private 私有的 权限最小,只有在当前类才能用
·可以放在属性、方法、构造器上
成员方法
public :访问权限修饰符
void :没有返回值
run( ):方法名(标识符)
{ }:方法体(这个方法要干哪些事)
( ):传参数
参数可以有多个,中间用逗号隔开
Java中的传参需要明确数据类型
在声明方法时,括号里的参数:形式参数(形参),可以当做局部变量使用
在调用方法时,形参是在声明处,实参是在调用处
标识符的命名规则:
字母,数字,下划线,美元符号,数字不能开头
1、类名:大驼峰
2、属性名、方法名:小驼峰
案例
public void run(int gasoline,String tire){
if(gasoline == 92){
System.out.println("92号汽油跑的很快!");
return;
}else if(gasoline == 95){
System.out.println("95号汽油跑的更猛");
}else {
System.out.println("你加了假油吧?");
}
System.out.println(brand + "在漂移!");
}
方法重载
1.方法名相同
2.参数不同才能构成方法的重载
(1)参数的类型不同
(2)参数的个数不同
(3)参数的顺序不同
与返回值类型无关;与访问权限修饰符无关;与方法体无关。方法的重载只跟参数有关
3.方法的重载一定是发生在同一个类里
案例
public class Ch03 {
public int max(int num1,int num2) {
return num1 > num2 ? num1:num2;
}
public int max(int num1,int num2,int num3){
int a = (num1 > num2 ? num1 : num2);
return a > num3 ? a : num3;
}
public static void main(String[] args) {
Ch03 c = new Ch03();
c.max(1,2,3);
}
不定长参数
-
参数列表中最多有一个不定长参数
-
不定长参数必须在最后
案例
构造器
语法:访问权限修饰符 类名(参数列表){}
构造器特点:
-
java在new对象的时候,先看对象所对应的类有没有构造器,如果没有,则无法创建对象
-
每个类会有一个的默认的无参的构造器
-
在对象被实例化时调用了构造器
-
类名 对象名=new 构造器
-
创建对象是通过构造器创建的
-
如果一个类中显示了声明了一个构造器,默认的无参构造器就失效
可以重载
今日总结
今天主要讲了Java的面向对象,早上的课听起来一点也不费劲,下午的就有点蒙了,感觉不同的类之间频繁的调用,自己有点反应不过来,有的要传参数有的又不用,没太分清,就是觉得下午的有点杂,自己把知识点结合起来用的能力不是很好。