一、面向对象

java是一门面向对象的一种编程语言,在java中,万事万物皆对象。

面向过程:面向过程就是分析出实现需求需要的步骤,通过一些方法一步一步去实现需求。

面向对象(行为化):把整个需求的按照特点,功能划分,将这些存在共性的部分封装成类(类实例化之后才是对象),让对象去解决问题。

在java中,面向对象有三大特征:

1.封装

2.继承

3.多态

4.抽象

成员变量—属性

·创建对象的过程,类的实例化的过程,对象又叫做类的一个实例

我们创建了一个Car类的对象car1,这个car1就是对象的名。其实这个car1就是个标识符。

·对象名的命名规则:小驼峰

·创建对象的语法:类名 对象名 = new 类名( );类名 对象名 = new 构造器(类名())

定义一个成员方法

public:访问权限修饰符,后面讲

void:没有返回值

run():方法名,标识符

{}:方法体。这个方法要干什么

():传参数 在声明方法时,括号里的参数,形式参数,形参,可以当做局部变量使用 在调用方法时,真正传入方法的参数,实际参数,实参。 参数可以有多个,中间用逗号隔开 Java中的传参,需要明确数据类型

有返回值的方法

public

boolean:返回值类型,我这个方法经过一系列的运行过后,要得到一个具体的值,返回值,返回值的类型是boolean

返回值用return  xxx; 类型要匹配

有返回值的方法在执行后会得到一个具体的值,这个值可以存下来

到底什么时候要有返回值,什么时候没有返回值?

开发中,大部分的方法都有返回值

return关键字

  1. return关键字终止方法继续执行
  2. 返回方法的返回值

问题:在void的方法中,能不能有return?

在一个方法中调用其他方法

public class Ch05 {String str;public void show(){// 省略一部分要执行的代码...// 在一个方法中调用其他方法
//       Ch05 c = new Ch05();
//       c.info();System.out.println(str);info();}public void info(){// 省略一部分要执行的代码...}
}

标识符的命名规则:字母,数字,下划线,美元符号,数字不能开头 1、类名:大驼峰 2、属性名、方法名:小驼峰

 

 划重点:1、之前我们学习过8种基本数据类型2、从今天开始,我们的数据类型就更多了。我们能够遇见的所有的类,包括我们刚刚创建的Car是一种数据类型,一个美女也是一个数据类型。,所有的类都是数据类型,都是引用数据类型。此刻起,我们才真正了解了class这个关键字,创建一个类,用来创建一个数据类型。像car1,car2,car3....car100叫引用,它是指向内存中的一块区域。存放这些对象的空间,我们叫做堆。我们需要了解两块内存空间:1、栈:我们存的是变量和基本数据类型(特点:先进后出)地址是一个十六进制的字符串2、堆引用数据类型的初始值为null
public class Ch03 {public static void main(String[] args) {
//        Car car; 声明了一个Car类型的属性car,// 赋值时,除了String外,其余的引用数据类型都需要newCar car = new Car();// 只要看见了new,就不是null,它就有地址System.out.println(car);}
}

递归

成员方法方法名不能重复
如果一个方法有static,要调用一个非static的方法,就只能创建对象,使用对象.方法的形式调用

Ch01 c = new Ch01( ) ;

c.run( );

自己调自己-递归递归的问题:StackOverflowError 栈溢出 内存溢出

方法的重载

 方法的重载(Overload)1.方法名相同2.参数不同(参数的类型,参数的个数,参数的顺序)3.发生在同一个类里与返回值类型无关,与访问权限修饰符无关,与方法体无关 方法的重载的好处: 为了把功能相似相同的方法用同
不定长参数
1.参数列表中,至多有一个不定长参数
2.不定长参数必须在最后位置

·不定长参数的本质是数组

·java.lang包下的所有的类不需要显式的导入,剩下的都需要导包

 public int sum(int [] arr){result = 0;

练习:

 需求:
 * 写两个重载的方法
 * 1.一个方法求两个数的最大值
 * 2.另一个方法求三个数的最大值


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);}
}

访问权限修饰符

  1. public 共有的,公共的  权限最大,只要是public声明的方法,只要在同一个工程中,都能用。

·可以放在类、属性、方法、构造器上

  1. protected 受保护的:可以跨包,如果跨包必须是它的子类

·可以放在属性、方法、构造器上

  1. 默认的(啥也不写)default:只有当前包下可以访问(把包导进来也不行)

·可以放在类、属性、方法、构造器上

  1. private 私有的  权限最小,只有在当前类才能用

·可以放在属性、方法、构造器上

构造器 

语法:访问权限修饰符 类名(参数列表){ }

特点(特性):

  1. Java在new对象的时候,先看对象所对应的类有没有构造器,有的话有什么样的构造器;如果没有构造器,则无法构建对象(创建对象)
  2. 每个类会有一个默认的无参的构造器
  3. 在对象被实例化时调用了构造器
  4. 我们创建对象实际上是通过构造器创建的
  5. 如果一个类中显示的声明了一个构造器,原来默认自带的无参构造器就失效(被覆盖)。如果有多个构造器,必须重载。
  1. public class Ch06 {public static void main(String[] args) {// 创建对象的过程,实例化的过程,创建一个Dog类的实例// 类名 对象名 = new 构造器;Dog dog = new Dog("");}
    }

学习感受:

今天的内容还不是很理解,还需要看视频复习理解,今天讲的内容稍稍理解,但是自己去实现代码是写不出来的,这个过程还需要多加锻炼,多加思考,

2022 -7-18 第八小组 顾宇佳 学习笔记相关推荐

  1. 2022-07-28 顾宇佳 学习笔记

    Java的值传递和所谓的引用传递 本质上java只要值传递,所有的赋值传参都是一次值的拷贝 引用数据类型拷贝的是引用地址,基本数据类型拷贝的是值,不会传入实例对象本身 面试题:打印输出的结果是? 输出 ...

  2. 2022-7-27 顾宇佳 学习笔记

    类的内部结构: 属性.方法.构造器.代码块.内部类 代码块: 代码块又可以称为初始化块,属于类的一个成员,它是将逻辑语句封装在方法体中. 通过{ }包裹.代码块没有方法名,没有参数,没有返回值,只有方 ...

  3. 2022-08-15 顾宇佳 学习笔记(数据库)

    目录 MySQL 基本操作 表 SQL语言 SQL分类 DCL(数据库控制语言) 2.给用户授权 DDL(数据库定义语言) 建表约束 DML(数据操作语言) 数据库[按照数据结构来组织.存储和管理数据 ...

  4. ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10)

    ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10) Scalers点评:机器学习小组是成长会的内部小组,这是成长会机器学习小组第21周学习笔记,也是深度学习第10次的复盘笔记 ...

  5. 唐宇迪学习笔记18:案例——SVM调参实例

    目录 一.SVM案例:线性支持向量机 SVM:支持向量机 支持向量基本原理 例子 Support Vector Machines: 最小化 雷区 训练一个基本的SVM 对比实验 二.软间隔C值对结果的 ...

  6. 唐宇迪学习笔记3:Python数据可视化库——Matplotlib

    目录 一.Matplotlib概述 最基本的图 线条格式 线条颜色 颜色与格式结合 二.子图与标注 绘制多个线 指定线条的宽度 自定义参数 子图 给图上加上注释 三.风格设置 ​四.条形图 五.条形图 ...

  7. 2022-07-08 第七小组 闫馨月 学习笔记

    单丝不成线,独木不成林,只有携手并进,才能共赢.强者抱团,渡人渡己,人与人之间最好的关系就是坦诚相待,彼此成就,合作共赢! 在2022年7月8日有幸参与盛世吉软组织为期一天的团队素质拓展训练,除了身体 ...

  8. 奇安信病毒检测中心 2022年第二季度App收集个人信息检测报告 学习笔记 附下载地址

    奇安信 2022年第二季度App收集个人信息检测报告 下载地址 2022年第二季度 APP收集个人信息 检测报告 奇安信 病毒响应中心 研究背景 随着互联网和移动设备的发展,手机已成为人人都拥有的设备 ...

  9. 八皇后问题--C语言学习笔记

    在下面所示的棋盘中,皇后可以攻击位于箭头所覆盖的位置的所有棋子,那么现在有八个皇后,如何放置可以让他们之间不会相互攻击呢? 本文采用回溯法,先附上维基百科上对回溯法的解释: " 回溯法(英语 ...

最新文章

  1. contentProvider中有关query方法的使用
  2. 2022 专属程序员的桌面必备单品!
  3. java实现两个整数相除保留一位小数
  4. MySQL关联更新update
  5. Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
  6. python contextlib
  7. 90期:我在系统设计上犯过的14个错
  8. 关于 MySQL 8.0 新特性“隐藏索引”的一点思考
  9. 国外问卷调查怎么做?谁都能做吗?
  10. 收藏:产品经理和技术经理等的OKR模板大全
  11. C++ 自定义函数(全)
  12. 第九篇:人生中哪些是对错的选择?
  13. 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...
  14. 转:用AutoCAD 系统变量编程
  15. 安卓马赛克view_Android图形图像处理:马赛克(Mosaic)效果
  16. 使用PHP获取网站Favicon的方法
  17. 软考证书如何评职称?
  18. 【ManageEngine】终端管理系统,助力华盛证券数字化转型
  19. c语言感叹号放最后用法,感叹号的用法和注意事项
  20. getchar ,putchar,gets,puts的辨析

热门文章

  1. 2023啦 最新无人直播小白教程!
  2. Android 获取当前设备SIM运营商
  3. 安装 Win10+GTX1050ti+cuda8.0+cuDNN5.1+Tensorflow-gpu1.2
  4. 什么是redis数据库?
  5. 第35课: 打通Spark系统运行内幕机制循环流程
  6. python项目:打印输出平行四边形和三角形(多种样式)
  7. Linux Make(Makefile)由浅入深的学习与示例剖析
  8. java mifare_java – NTAG212 Mifare Ultralight与身份验证
  9. 30M DEM数据处理成图
  10. Android 自定义二维码