Java笔记(一)
[TOC]
Java面向对象初级一、方法的重载
注意事项和使用细节
方法名必须相同;
形参列表必须不同(形参类型、个数或顺序至少有一个不同,参数名无要求);
返回类型无要求。
可变参数:public int sum(int ... nums) 表示可接收多个参数。
可变参数本质为数组;
参数为0个或多个;
实参可以为数组;
可以与普通参数放在同一形参列表,但必须放在最后;
一个形参列表中只能有一个可变参数。
二、作用域
全局变量有默认值,可以不用赋值,局部变量无默认值,需要赋值。
属性可以与局部变重名,使用时遵循就近一致原则。
三、构造器
构造器是初始化对象,并非创建对象。
一个类可以定义多个不同的构造器,即构造器重载。
对象创建流程:
对于以下代码:
12345678910class Person{ //默认初始化 int age = 90; //显式初始化 String name; // 构造器 Person(String n,int a){ //构造器初始化 name = n; age ...
对多态的简单理解
对多态的简单理解
多态不能对子类的属性起作用
通过代码了解:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475package deom;public class 多态 { public static void main(String[] args) { 多态 duo = new 多态(); duo.test(new Dog()); // Animals animals = new Dog(); 父类引用子类的对象,调用子类重写的父类的方法 System.out.println("***********"); duo.test(new Cat()); // Animals animals = new Cat(); 父类引用子类的对象,调用子类重写的父类的方法 } //使用多态时写的函数 void ...
Ubuntu20.04的初体验
一、预备工作1. 下载VMware并安装(许可证:ZF3R0-FHED2-M80TY-8QYGC-NPKYF)
2. 下载Ubuntu镜像
二、 新系统调整1. 软件换源
在换源之前,要先对原来的源进行备份,在Ubuntu中,软件源存在/etc/apt/sources.list中,用以下命令备份:
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
打卡文件 /etc/apt/sources.list:
1sudo gedit /etc/apt/sources.list
删除文件里的内容,并复制要换的源(如阿里源):
123456789101112131415# 阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirr ...
如何优雅地用IDEA刷LeetCode
如何优雅地用IDEA刷LeetCode
点击右上角文件->设置->Plugins,搜索leetcode,找到leetcode editor并安装,如下图:
在IDEA右侧边点击leetcode,打开插件主界面后打开设置:
CodeFileName处填:
1P$!{question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug})
CodeTemplate处填:
1234567891011${question.content}package leetcode.editor.cn; // 此处不要改//Java:${question.title}public class P${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug}){ publ ...
java自定义排序以及lambda表达
Java的自定义排序以及lambda表达以数组某个元素的大小排序为例:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546import java.util.Arrays;import java.util.Comparator;//将大数组中的小数组按照右端点元素大小升序排序public class 自定义排序 { public static void main(String[] args) { int [][] a = {{1,2},{5,6},{1,3},{2,4}}; 普通写法 result1 = new 普通写法(); result1.zipai(a); System.out.println("普通写法输出:"); for(int i = 0;i < a.length;i++) { System. ...
解决git push速度慢的问题
解决git push速度慢的问题
今天更新一篇文章,内容比较多,所以在部署的过程中遇到了push速度慢的问题,即使kx上网全局也无济于事,最后通过查阅一些文章找到了解决方法。
开始时,我用git协议部署,即使kx上网全局也会卡在Writing objects上:
后来查阅资料发现,git可以使用代理,但Windows配置git协议的代理比较麻烦,所以用了https协议来部署(https协议的代理比较容易配置:joy:):
现在可以愉快的配置代理了:(
123456789# 端口号根据自身情况决定# 需要鉴权git config http.proxy http://username:password@127.0.0.1:1080 # 需要鉴权# 非全局代理git config http.proxy http://127.0.0.1:1080# 全局代理(所有项目)git config --global http.proxy http://127.0.0.1:1080# 查看全局代理git config --get --global http.proxy
好了,问题解决了,享受这丝滑 ...
Hexo+Github Pages+Vercel搭建博客(详细)
Hexo+Github Pages+Vercel搭建博客(详细)
本篇文章主要写一些我搭建这个博客的详细过程以及一些踩坑记录。
持续更新中~~
一、前言此博客是采用用Hexo博客框架搭建的。Hexo是一个由Node.js驱动的快速,简单且功能强大的静态博客框架。它能快速生成由MarkDown等渲染的文章,总有数百个主题和插件可供使用,并且支持一键部署到Github Pages上。而本博客就是部署到Github Pages上并用Vercel加速国内访问的(后面会详细说明),采用了Matery主题。
二、准备工作1. Node.js环境配置
①首先去Node.js官网下载安装程序,一路默认即可(路径可根据自己的需求更改),然后安装。
②测试是否安装成功及环境变量是否正确。在cmd命令行输入:node -v查看效果。若出现:
则说明环境变量添加完成,进行下一步。如果报错,则需要手动添加环境变量:右击点击我的电脑 -> 属性 -> 高级系统设置 -> 环境变量,在系统变量下找到名为 path 的变量名,双击Path,点击添加,将node.js的安装复制进去即可。
③改 ...
最简易的贪心算法
最简易的贪心算法
参考资料:谷歌高畅Leetcode刷题笔记。
题目网址:LeetCode。
算法解释顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。全局最优结果是局部最优结果的和,且局部结果互不相干!
例题及题解分配问题455.分发饼干 (简单)题目大意:
给我们一堆饼干和一群孩子,要求我们把饼干分给孩子,每个孩子有一个饥饿值,每个饼干有一个饱腹值,且每个孩子只能分一个饼干,要求我们求出最多能吃饱的孩子数量。
解题思路:
首先可以分别将孩子饥饿值的数组和饼干饱腹值的数组升序排序,然后饥饿值最小的孩子吃饱腹值最少的饼 干,这样依次取值即可满足局部最优,局部最优加和即全局最优。
解题代码:
12345678910111213141516class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int i = 0,j = 0; while (i < ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
sdsd,
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment