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的面向对象,早上的课听起来一点也不费劲,下午的就有点蒙了,感觉不同的类之间频繁的调用,自己有点反应不过来,有的要传参数有的又不用,没太分清,就是觉得下午的有点杂,自己把知识点结合起来用的能力不是很好。

posted @ 2022-07-19 00:03  兜兜里藏着糖  阅读(20)  评论(0编辑  收藏  举报