0%

final关键字

在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”

  • final标记的类不能被继承。提高安全性,提高程序的可读性。

    例如:String类、System类、StringBuffer类

  • final标记的方法不能被子类重写。

    例如:Object类中的getClass()。

  • final标记的成员变量必须在声明时或在每个构造器中或代码块中显式赋值,然后才能使用。

  • final修饰的引用数据类型其地址值不能变化,但是其内部属性可以改变。

final修饰类

1
2
3
4
5
6
final class A{

}
class B extends A{ //错误,不能被继承。

}

中国古代,什么人不能有后代,就可以被final声明,称为“太监类”

阅读全文 »

第一题(貌似是考察方法的参数传递)

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Test{
public static void main(String[] args){
int a = 10;
int b = 20;
method(a,b);//在调用method()方法之后输出a = 100,b = 200
System.out.println("a = " + a);
System.out.println("b = " + b);
}
static void method(int a,int b){
//代码编写处

}
}

如果在method中直接写

1
2
a = 100;
b = 200;

这个样子会直接被别人鄙视

其实这是一个脑筋急转弯的题目,直接像上面这样把一个基本数据类型的变量,作为形参传入函数,等于是直接把值赋给了函数中的实参,改变函数中的实参并不会影响主函数中a和b的值,在method()方法调用完之后,方法中的实参a和b就出栈了,此时在主函数输出的仍然是10和20。

阅读全文 »

研究了一下午Windows的批处理文件一个文件只能执行一条语句,执行完之后就直接退出了

解决方法是每条语句放在一个文件里面,通过call调用批处理的文件来执行里面的命令,很简单的几句话要分到好几个文件里面,很不方便。

于是就又看了一下shell脚本,比Windows的批处理脚本要强大太多,shell脚本要在Windows下执行需要安装相关的软件才可以,本版管理工具git的bash命令也可以运行shell脚本。

Windows的批处理脚本主要是不需要安装其他的东西了,可以实现一些简单的功能;但是作为一个码农电脑一般都装了这些相关的可以运行sh脚本的软件,所以用shell脚本也是没问题的,当然用Python写的脚本肯定跟强大,但是要学的东西肯定也跟多。

windows批处理bat脚本

主文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off

call .\clean.bat

echo 清理完毕

call .\copyd.bat

echo 图片复制完毕

call .\push.bat

echo 编译、部署完毕

pause
阅读全文 »

字符串函数

  1. 合并字符串

    1
    2
    concat();
    concat("Hello"," World");#Hello world,当传入的参数又一个为null时结果为null
  2. 获取字符串的长度

    1
    length(str);#空格也算一个字符,计算的是字节的长度,一个汉字占两个字节
    阅读全文 »

本文档为您介绍了如何在Ubuntu系统以及Apache2中安装阿里云SSL证书。

环境准备

操作系统:Ubuntu

Web服务器:Apache 2

前提条件

操作步骤

  1. 运行以下命令在apache2目录下创建ssl目录。

    1
    mkdir /etc/apache2/ssl
  2. 运行以下命令将下载的阿里云证书文件复制到ssl目录中。

    1
    cp -r YourDomainName_public.crt /etc/apache2/ssl
    1
    cp -r YourDomainName_chain.crt /etc/apache2/ssl
    1
    cp -r YourDomainName.key /etc/apache2/ssl
    阅读全文 »

1.开启重定向

a2enmod rewrite

2.设置http端口重定向

将下面这段放到要重定向的站点配置文件里面,放在<\VirtualHost *:80><\VirtualHost> 标签内的任何位置都行

1
2
3
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

重启apach2

service apache2 restart

面向对象与面向过程

  • 面向过程(POP) 与 面向对象(OOP)

    • 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的 是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对 象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

    • 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如 抽象、分类、继承、聚合、多态等。

      面向对象:Object Oriented Programming

      面向过程:Procedure Oriented Programming

  • 面向对象的三大特征

    • 封装(Encapsulation)
    • 继承(Inheritance)
    • 多态(Polymorphism)
    阅读全文 »

蓝桥杯这块板子有矩阵按键和独立按键,可以根据换跳帽来切换,下面简单介绍一下这两种按键的程序和基本的原理。

其他51的板子原理也基本相同,下面的代码也可以参考。

独立按键

相对于矩阵按键,独立按键简单很多,就只有四个按钮,判断四个按键哪个被按下的情况较为简单

独立按键的写法也不止一种,这里就介绍两种

方法一:

实现比较简单,就是一个个判断,检测到为低电平的话就判断按键按下了。

阅读全文 »