2022 -7-18 第八小组 顾宇佳 学习笔记
一、面向对象
java是一门面向对象的一种编程语言,在java中,万事万物皆对象。
面向过程:面向过程就是分析出实现需求需要的步骤,通过一些方法一步一步去实现需求。
面向对象(行为化):把整个需求的按照特点,功能划分,将这些存在共性的部分封装成类(类实例化之后才是对象),让对象去解决问题。
在java中,面向对象有三大特征:
1.封装
2.继承
3.多态
4.抽象
成员变量—属性
·创建对象的过程,类的实例化的过程,对象又叫做类的一个实例
我们创建了一个Car类的对象car1,这个car1就是对象的名。其实这个car1就是个标识符。
·对象名的命名规则:小驼峰
·创建对象的语法:类名 对象名 = new 类名( );类名 对象名 = new 构造器(类名())
定义一个成员方法
public:访问权限修饰符,后面讲
void:没有返回值
run():方法名,标识符
{}:方法体。这个方法要干什么
():传参数 在声明方法时,括号里的参数,形式参数,形参,可以当做局部变量使用 在调用方法时,真正传入方法的参数,实际参数,实参。 参数可以有多个,中间用逗号隔开 Java中的传参,需要明确数据类型
有返回值的方法
public
boolean:返回值类型,我这个方法经过一系列的运行过后,要得到一个具体的值,返回值,返回值的类型是boolean
返回值用return xxx; 类型要匹配
有返回值的方法在执行后会得到一个具体的值,这个值可以存下来
到底什么时候要有返回值,什么时候没有返回值?
开发中,大部分的方法都有返回值
return关键字
- return关键字终止方法继续执行
- 返回方法的返回值
问题:在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、堆引用数据类型的初始值为nullpublic 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);} }
访问权限修饰符
- public 共有的,公共的 权限最大,只要是public声明的方法,只要在同一个工程中,都能用。
·可以放在类、属性、方法、构造器上
- protected 受保护的:可以跨包,如果跨包必须是它的子类
·可以放在属性、方法、构造器上
- 默认的(啥也不写)default:只有当前包下可以访问(把包导进来也不行)
·可以放在类、属性、方法、构造器上
- private 私有的 权限最小,只有在当前类才能用
·可以放在属性、方法、构造器上
构造器
语法:访问权限修饰符 类名(参数列表){ }
特点(特性):
- Java在new对象的时候,先看对象所对应的类有没有构造器,有的话有什么样的构造器;如果没有构造器,则无法构建对象(创建对象)
- 每个类会有一个默认的无参的构造器
- 在对象被实例化时调用了构造器
- 我们创建对象实际上是通过构造器创建的
- 如果一个类中显示的声明了一个构造器,原来默认自带的无参构造器就失效(被覆盖)。如果有多个构造器,必须重载。
public class Ch06 {public static void main(String[] args) {// 创建对象的过程,实例化的过程,创建一个Dog类的实例// 类名 对象名 = new 构造器;Dog dog = new Dog("");} }
学习感受:
今天的内容还不是很理解,还需要看视频复习理解,今天讲的内容稍稍理解,但是自己去实现代码是写不出来的,这个过程还需要多加锻炼,多加思考,
2022 -7-18 第八小组 顾宇佳 学习笔记相关推荐
- 2022-07-28 顾宇佳 学习笔记
Java的值传递和所谓的引用传递 本质上java只要值传递,所有的赋值传参都是一次值的拷贝 引用数据类型拷贝的是引用地址,基本数据类型拷贝的是值,不会传入实例对象本身 面试题:打印输出的结果是? 输出 ...
- 2022-7-27 顾宇佳 学习笔记
类的内部结构: 属性.方法.构造器.代码块.内部类 代码块: 代码块又可以称为初始化块,属于类的一个成员,它是将逻辑语句封装在方法体中. 通过{ }包裹.代码块没有方法名,没有参数,没有返回值,只有方 ...
- 2022-08-15 顾宇佳 学习笔记(数据库)
目录 MySQL 基本操作 表 SQL语言 SQL分类 DCL(数据库控制语言) 2.给用户授权 DDL(数据库定义语言) 建表约束 DML(数据操作语言) 数据库[按照数据结构来组织.存储和管理数据 ...
- ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10)
ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10) Scalers点评:机器学习小组是成长会的内部小组,这是成长会机器学习小组第21周学习笔记,也是深度学习第10次的复盘笔记 ...
- 唐宇迪学习笔记18:案例——SVM调参实例
目录 一.SVM案例:线性支持向量机 SVM:支持向量机 支持向量基本原理 例子 Support Vector Machines: 最小化 雷区 训练一个基本的SVM 对比实验 二.软间隔C值对结果的 ...
- 唐宇迪学习笔记3:Python数据可视化库——Matplotlib
目录 一.Matplotlib概述 最基本的图 线条格式 线条颜色 颜色与格式结合 二.子图与标注 绘制多个线 指定线条的宽度 自定义参数 子图 给图上加上注释 三.风格设置 四.条形图 五.条形图 ...
- 2022-07-08 第七小组 闫馨月 学习笔记
单丝不成线,独木不成林,只有携手并进,才能共赢.强者抱团,渡人渡己,人与人之间最好的关系就是坦诚相待,彼此成就,合作共赢! 在2022年7月8日有幸参与盛世吉软组织为期一天的团队素质拓展训练,除了身体 ...
- 奇安信病毒检测中心 2022年第二季度App收集个人信息检测报告 学习笔记 附下载地址
奇安信 2022年第二季度App收集个人信息检测报告 下载地址 2022年第二季度 APP收集个人信息 检测报告 奇安信 病毒响应中心 研究背景 随着互联网和移动设备的发展,手机已成为人人都拥有的设备 ...
- 八皇后问题--C语言学习笔记
在下面所示的棋盘中,皇后可以攻击位于箭头所覆盖的位置的所有棋子,那么现在有八个皇后,如何放置可以让他们之间不会相互攻击呢? 本文采用回溯法,先附上维基百科上对回溯法的解释: " 回溯法(英语 ...
最新文章
- contentProvider中有关query方法的使用
- 2022 专属程序员的桌面必备单品!
- java实现两个整数相除保留一位小数
- MySQL关联更新update
- Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
- python contextlib
- 90期:我在系统设计上犯过的14个错
- 关于 MySQL 8.0 新特性“隐藏索引”的一点思考
- 国外问卷调查怎么做?谁都能做吗?
- 收藏:产品经理和技术经理等的OKR模板大全
- C++ 自定义函数(全)
- 第九篇:人生中哪些是对错的选择?
- 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...
- 转:用AutoCAD 系统变量编程
- 安卓马赛克view_Android图形图像处理:马赛克(Mosaic)效果
- 使用PHP获取网站Favicon的方法
- 软考证书如何评职称?
- 【ManageEngine】终端管理系统,助力华盛证券数字化转型
- c语言感叹号放最后用法,感叹号的用法和注意事项
- getchar ,putchar,gets,puts的辨析
热门文章
- 2023啦 最新无人直播小白教程!
- Android 获取当前设备SIM运营商
- 安装 Win10+GTX1050ti+cuda8.0+cuDNN5.1+Tensorflow-gpu1.2
- 什么是redis数据库?
- 第35课: 打通Spark系统运行内幕机制循环流程
- python项目:打印输出平行四边形和三角形(多种样式)
- Linux Make(Makefile)由浅入深的学习与示例剖析
- java mifare_java – NTAG212 Mifare Ultralight与身份验证
- 30M DEM数据处理成图
- Android 自定义二维码