Vstar项目练手——学习笔记(2)
面对对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
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)相关推荐
- Vstar项目练手——学习笔记
少年没有乌托邦,心向远方自明朗. 我决定写一篇博客来记录学习. 项目选自github优质开源项目--微人事,这里是项目地址链接lenve/vhr: 微人事是一个前后端分离的人力资源管理系统,项目采用S ...
- 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中-- 今天我们收集了 20 个 C 语言练手项目,提供 ...
- c语言api文档_初学 C 语言没有项目练手?这 20 个小项目拿走不谢
C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中--今天我们收集了 20 个 C 语言练手项目,提供了 ...
- c语言倒计时不影响进程_初学C语言没有项目练手怎么行,这17个小项目收下不谢...
image C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们 ...
- Android开源项目SlidingMenu本学习笔记(两)
我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: 点击Bluetooth能 ...
- DSB2017项目grt123代码学习笔记一:项目基本情况
DSB2017项目grt123代码学习笔记一:项目基本情况 Kaggle上Data Science Bowl 2017年肺结节检测比赛第一名grt123团队的算法. github地址:https:// ...
- 机器学习没有项目练手?黄博邀您参加天池视觉AI比赛了!还有比赛奖金等你来拿...
机器学习需要实战,没有项目练手?黄博邀您参加天池视觉AI比赛了!还有奖金哦!百万奖金等你来拿! 2019中国国际智能产业博览会上,重庆市大数据应用发展管理局.重庆市江津区人民政府联合阿里云共同启动首届 ...
- 学好Java去哪里找项目练手?
学好Java去哪里找项目练手? 去那些培训机构的官网找项目视频,自己照着做一遍,不过一般能发出来的都不是最新的,但是肯定是有帮助的,当然这些项目做了你的项目经验也是虚假的,要想要真实的项目经验,那就得 ...
- Django项目搭建【学习笔记】
Django项目搭建[学习笔记] 创建工程 安装 pip install django==1.11.11 -i https://pypi.tuna.tsinghua.edu.cn/simple 创建D ...
最新文章
- ISOOSI网络模型的通俗解析
- Go 语言实现字符串匹配算法 -- BF(Brute Force) 和 RK(Rabin Karp)
- sqlite 日期格式与排序问题
- wxWidgets:使用自定义对话框和 sizer
- Storm教程3编程接口
- 数字图像处理--图像梯度算子的本质
- 荣耀linux装win读不出u盘,华为/荣耀路由器USB接入硬盘/U盘后无法识别怎么解决?...
- 恢复删除的Exchange邮箱
- vector内存分配和回收机制
- DOS命令学习(从入门到精通)
- javascript跨域
- Mixly02:米思齐(Mixly)软件安装及初体验
- eclipse转Androidstudio AAPT: error: file failed to compile.
- DDoS攻击:无限战争
- 文案撰写技巧,感人文案的4大技巧
- jenkins-RestAPI调用出现Error 403 No valid crumb was included in the request解决方法
- win10下禁用全角半角Kill-Shift-Space
- 【Linux】服务远程连接失败解决方法
- 【通信原理】学习笔记----理解信道
- SQL积累 复制一个表数据到另一个表 SELECT INTO -- INSERT INTO ... SELECT
热门文章
- 基于cc++课程设计-产品入库管理系统(附源码+可执行程序)
- C语言 结构体存储空间分配
- 计算机话筒输入 接口指标,无线麦克风与电脑连接方法
- Arduino框架下合宙ESP32C3 +1.8“tft 网络时钟
- 基础篇——HTML基础 一
- 这个618,网工最值得买的路由器/交换机设备
- Advisor2002在MATLAB6.5.1中的安装(基于Win10)
- 用自然语言进行编程的时代真的要来了
- 从 TPCH 测试学习性能优化技巧之 Q10
- 伪原创视频 审核 抖音短视频md5修改在线