java 参数传递有两种数据类型:
1,原生数据类型 8种基本数据类型。原生数据类型传递后会对值进行传递,不会对外部传递的变量做改变。
2,传递对象引用。
在java中,对于方法的参数传递,不管是原始数据类型还是引用数据类型,一律是串值:pass by value。
public void changeString(String str){
String str = "abc";
}
public static void main(String[] args){
String str = "xyz";
new 对象().chengeString(str);
System.out.println(str);
// 输出“xyz”
}
---------------------------
静态变量
public class StaticTest {
private static StaticTest st = new StaticTest();
pirvate static int count1;
private static int count2 = 0;
private StaticTest(){
count1++;
count2++;
}
public static StaticTest getInstance(){
return st;
}
public static void main(String[] arge){
StaticTest st = StaticTest.getInstance();
System.out.println("count1: " + st.count1);
System.out.println("count2: " + st.count2);
}
}
程序编译执行结果?
输出结果:
count1:1
count2:0
执行顺序:
先执行main方法
再执行静态化部分,顺序执行,从上到下。
先执行 private static StaticTest st = new StaticTest();
在执行构造函数,这时构造函数把 count1和count2都进行++操作,完后 count1 = 1,count2 = 1。
在执行 public static int count1; 由于这一行并没有显示的被赋值操作,所以这是count1 = 1, 构造器里的++操作。
在执行 public static int count2; 由于这一行有显示的赋值操作,又把count2 设置为 0 。
所以如上输出结果。
-----------------------------------------
继承与初始化块?
public class Test{
pubilc static void main(String[] arge){
new Child();
}
}
class Parent{
static{
System.out.println("parent static block");
}
public Parent(){
System.out.println("parent constructor");
}
}
class Child extends Parent{
static{
System.out.println("child static block");
}
public Child(){
System.out.println("child constructor");
}
}
程序输出?
parent static block
child static block
parent constructor
child constructor
先调用静态初始化块,父类 子类。
在调用构造器 ,父类 子类。
super(); 显示的调用父类的构造方法,super(参数); 显示的调用带参数的父类构造方法。
css篇一 什么是css、css的作用以及css的基本格式
一、什么是css
css的英文全称是:Cascading Style Sheets,翻译过来叫:层叠样式表。
这其中有两个关键字,一个是层叠一个是样式。
样式指的是给html调整样式
层叠指的是可以叠加调整,给一个html的a标签指定5条样式,5条样式叠加起来作用到html的标签上。
举个更容易理解的例子:(在index.html中写一个a标签)
用css给a标签加样式,一共加了五条,具体看图片中的注释。
5条样式都加到了a标签上面,都生效,这就是层叠的意思了。
二、css的作用
从上面的例子中也可以明显地感受到,css的主要作用就是美化html的。使用css可以让html变得更加的丰富多彩。如果学了JavaScript的话就可以让html动起来。
在正式开讲css前,先补充一点关于sublime text的快捷使用方法,这样我们写代码的速度就会变得快起来。
如果还有不知道sublime text是什么的同学,可以返回头去看看《踏上编程之路的必经之路之html篇二》,其中用动图的方式仔细讲解了如何下载它。
在sublime text这款编辑器里面可以快速生成html的主要结构(头部、体部),接下来看动图演示:
没错,只要输入一个“!”,按tab键就能快速生成html的主要结构代码了(下图红框的框住的就是tab键)
除了可以快速生成上面代码,还以快速生成经常使用的各种标签代码:(如下图演示)
如果你要写一个a标签,只需要写a再按tab键,sublime text就会自动给你补全代码。
当然了,还有更快捷的
(接下来快捷生成百度)
在“[]”里面写要给a标签添加的属性,在{}里面写a标签的文字。如果有多个属性的就写两个“[]”。
具体看动图演示:
接下来再看看ul和li标签如何快速生成(ul里面包含5个li)
新闻后面的$用于生成一个序号,当然你也可以不写,也可以写两个,写两个的话生成的就会是新闻01、新闻02
在sublime text中只要是html的标签就可以快捷生成,那在来试一试table
我们学过很多的html标签,你都可以拿来尝试一下,要想事半功倍,熟练使用sublime text是个有效的途径。
三、css的基本格式
在css的初始阶段,建议大家把css代码写在html的head标签中。
css代码的样式代码写在style标签中。
具体看一下图:
写一个a标签,让a标签中的字变为红色
在style中写css代码,没有style,是不会有效果的。style可以写在任意位置,但是为了代码规范,约定俗成都写在head标签中。
style中我们先要指定给哪一个标签添加样式,这里我们指定了a。这种方式也叫做css选择器,就是你要给谁添加样式,你得先指定或者选定一个标签,然后再写你要添加的样式代码。我们这里选定a,给a添加字体变红的的样式。
上面代码在浏览器中的效果如下:
好了,今天的内容就这么多。记得要勤动手练习。