面对对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

package com.company;
//引用传递:对象,本质还是值传递
//对象,内存
public class test05 {public static void main(String args[]){Person person = new Person();System.out.println(person.name);//nullchange(person);System.out.println(person.name);//牛马}public static void change (Person person){person.name ="牛马";//person是一个对象:指向的---》Person person = new person();这是一个具体的人,可以改变属性}
}
//定义了一个Person类,有一个属性:name
class Person{String name;//null
}

创建与初始化对象

一个类即使什么也没写,它也会 存在一个方法。(程序就是对世界建模)


/*
1.类与对象类是一个模板:抽象,对象是一个具体的实例
2.方法定义、调用
3.对象的引用引用类型: 基本类型(8)对象是通过引用来操作的:栈--->堆4.属性:字段Field成员变量默认初始化:数字: 0   0.0char: u0000boolean:false引用:null修饰符 属性类型 属性名 = 属性值
5.对象的创建和使用- 必须使用new 关键字创建对象,构造器 Person xxx = new Person();- 对象的属性 xxx.name- 对象的方法 xxx.workout()
6.类静态的属性 属性动态的行为 方法*/

封装的好处:

1.提高程序的安全性,保护数据

2.隐藏代码的实现细节

3.统一接口

4.系统可维护性增加了

更新于2022.4.24

/*
重写:需要有继承的关系,子类重写父类的方法!1.方法名必须相同2.参数列表必须相同3.修饰符:范围可以扩大但不能缩小:  public>Protected>Default>private4.抛出的异常:范围,可以被缩小,但不能扩大:  ClassNotFoundException --> Exception(大)
重写,子类的方法和父类必要一致;方法体不同为什么要重写:1.父类的功能,子类不一定需要,或者不一定满足Alt+Insert ; override*/
/*
多态注意事项:
1. 多态是方法的多态,属性没有多态
2. 父类和子类,有联系 类型转换异常 !ClassCastException
3. 存在条件: 继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();无法重写的:
1. static 方法,属于类,它不属于实例
2. final 常量;
3. private方法;*/

更新于2022.4.29

package com.company;public class test06 {private static int age;//静态的变量 多线程!private double score;//非静态的变量public void run(){}public static void go(){}public static void main(String[] args){go();//这个可以直接使用run();//这就不行new test06().run();//要通过对象点方法才能使用}
}
package com.company;
public class test06{{//匿名代码块//第二个执行System.out.println("匿名代码块");}static{//静态代码块//最先执行System.out.println("静态代码块");}public test06(){//构造方法//第二个执行System.out.println("构造方法");}public static void main(String[] args){test06 test06 = new test06();}
}

静态代码只执行一次

(这里我们在new一次)

此处添加代码

抽象类笔记:

思考:1.抽象类中存在构造器吗?

答:抽象类可以用构造器,并用构造函数用来初始化抽象类的一些字段,构造函数的应用:在其内部实现子类必须执行的代码

2.抽象的作用?

答:把类的公共方法抽取出来,减少代码量,提高开发效率。

接口

package com.company.oop;//interface 定义的关键字,接口都需要有实现类
public interface UserService {//接口中的所有定义其实都是抽象的public obstractvoid Add(String name);void Delete(String name);void Updata(String name);void Query(String name);
}
package com.company.oop;public interface two {void niuma();
}
package com.company.oop;//快捷键Alt+Enter
//抽象类:extend
//类 可以实现接口implements 接口
//实现了接口的类,就需要重写接口中的方法
public class UserServiceImpl implements UserService,two{//这里可以实现两个接口@Overridepublic void Add(String name) {}@Overridepublic void Delete(String name) {}@Overridepublic void Updata(String name) {}@Overridepublic void Query(String name) {}@Overridepublic void niuma() {//这里实现了第二个方法}
}

将它们创建在oop软件包下

异常

异常处理机制:

1.抛出异常

2.捕获异常

异常处理的五个关键字:

try、catch、finally、throw、throws

异常处理快捷键Ctrl + Alt + T

更新于2022.4.30

Vstar项目练手——学习笔记(2)相关推荐

  1. Vstar项目练手——学习笔记

    少年没有乌托邦,心向远方自明朗. 我决定写一篇博客来记录学习. 项目选自github优质开源项目--微人事,这里是项目地址链接lenve/vhr: 微人事是一个前后端分离的人力资源管理系统,项目采用S ...

  2. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~

    C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中-- 今天我们收集了 20 个 C 语言练手项目,提供 ...

  3. c语言api文档_初学 C 语言没有项目练手?这 20 个小项目拿走不谢

    C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中--今天我们收集了 20 个 C 语言练手项目,提供了 ...

  4. c语言倒计时不影响进程_初学C语言没有项目练手怎么行,这17个小项目收下不谢...

    image C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们 ...

  5. Android开源项目SlidingMenu本学习笔记(两)

    我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: 点击Bluetooth能 ...

  6. DSB2017项目grt123代码学习笔记一:项目基本情况

    DSB2017项目grt123代码学习笔记一:项目基本情况 Kaggle上Data Science Bowl 2017年肺结节检测比赛第一名grt123团队的算法. github地址:https:// ...

  7. 机器学习没有项目练手?黄博邀您参加天池视觉AI比赛了!还有比赛奖金等你来拿...

    机器学习需要实战,没有项目练手?黄博邀您参加天池视觉AI比赛了!还有奖金哦!百万奖金等你来拿! 2019中国国际智能产业博览会上,重庆市大数据应用发展管理局.重庆市江津区人民政府联合阿里云共同启动首届 ...

  8. 学好Java去哪里找项目练手?

    学好Java去哪里找项目练手? 去那些培训机构的官网找项目视频,自己照着做一遍,不过一般能发出来的都不是最新的,但是肯定是有帮助的,当然这些项目做了你的项目经验也是虚假的,要想要真实的项目经验,那就得 ...

  9. Django项目搭建【学习笔记】

    Django项目搭建[学习笔记] 创建工程 安装 pip install django==1.11.11 -i https://pypi.tuna.tsinghua.edu.cn/simple 创建D ...

最新文章

  1. ISOOSI网络模型的通俗解析
  2. Go 语言实现字符串匹配算法 -- BF(Brute Force) 和 RK(Rabin Karp)
  3. sqlite 日期格式与排序问题
  4. wxWidgets:使用自定义对话框和 sizer
  5. Storm教程3编程接口
  6. 数字图像处理--图像梯度算子的本质
  7. 荣耀linux装win读不出u盘,华为/荣耀路由器USB接入硬盘/U盘后无法识别怎么解决?...
  8. 恢复删除的Exchange邮箱
  9. vector内存分配和回收机制
  10. DOS命令学习(从入门到精通)
  11. javascript跨域
  12. Mixly02:米思齐(Mixly)软件安装及初体验
  13. eclipse转Androidstudio AAPT: error: file failed to compile.
  14. DDoS攻击:无限战争
  15. 文案撰写技巧,感人文案的4大技巧
  16. jenkins-RestAPI调用出现Error 403 No valid crumb was included in the request解决方法
  17. win10下禁用全角半角Kill-Shift-Space
  18. 【Linux】服务远程连接失败解决方法
  19. 【通信原理】学习笔记----理解信道
  20. SQL积累 复制一个表数据到另一个表 SELECT INTO -- INSERT INTO ... SELECT

热门文章

  1. 基于cc++课程设计-产品入库管理系统(附源码+可执行程序)
  2. C语言 结构体存储空间分配
  3. 计算机话筒输入 接口指标,无线麦克风与电脑连接方法
  4. Arduino框架下合宙ESP32C3 +1.8“tft 网络时钟
  5. 基础篇——HTML基础 一
  6. 这个618,网工最值得买的路由器/交换机设备
  7. Advisor2002在MATLAB6.5.1中的安装(基于Win10)
  8. 用自然语言进行编程的时代真的要来了
  9. 从 TPCH 测试学习性能优化技巧之 Q10
  10. 伪原创视频 审核 抖音短视频md5修改在线