java 参数传递 | 静态变量 | 继承与静态初始化块

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添加字体变红的的样式。

上面代码在浏览器中的效果如下:

好了,今天的内容就这么多。记得要勤动手练习。

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/2693.html

发表评论

评论列表

还没有评论,快来说点什么吧~

友情链接: