Java日常练习20190312

局部变量:

在方法、构造方法或者语句块中定义的变量被称之为局部变量。变量的声明和初始化都是在方法中,方法结束后,变量就会自动销毁

成员变量:

成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特性类语句块访问。

类变量:

类变量也声明在类中,方法体之外,但是必须声明为static类型。

构造方法:

每个类都有构造方法。如果你没有创建的话 JAVA编辑器会自动提供一个默认的构造方法。 在创建对象的时候,至少要调用一种构造方法构造方法的名称必须与类名相同,而且一个类可以拥有多个构造方法。

创建对象:

对象是根据类来创建的,在JAVA中使用关键字new来创建 创建对象需要以下三步:
1.声明: 首先声明一个对象,包括对象名称和对象类型。
2.实例化:使用关键字你new来创建一个对象。
3.初始化:使用new创建新对象时候,会调用构造方法初始化对象。

public class Puppy{
	public Puppy(String name){
		//这个构造器只有一个参数:name
		System.out.println(name);
	
}
public static void main(String [] args){
	Puppy myPuppy = new Puppy("tommy"); 
}
}

访问实例变量的方法:

通过已经创建的对象类访问成员变量和成员方法

/*实例化对象*/
objectReference  =  new Constructor();
/*访问类中的变量*/
objectReference = new Constructor();
/*访问类中的方法*/
objectReference.methodName();

示例如下:

 package com.day01.java;
    
    public class Puppy {
    	int puppyAge;
    	public Puppy(String name ){
    		System.out.println("小狗的名字是:"+ name );
    	}
    	
    	public void setAge(int age ){
    		puppyAge  = age;
    	}
    	
    	public int getAge(){
    		System.out.println("小狗的年龄为:" + puppyAge);
    		return puppyAge;
    	}
    	public static void main (String [] args){
    		/* 创建对象  */
    		Puppy myPuppy = new Puppy("tommy");
    		/* 通过方法来设定age */
    		myPuppy.setAge(5);
    		/* 调用另一个方法来获取age */
    		myPuppy.getAge();
    		/* 访问成员变量  */
    		System.out.println("变量值: " + myPuppy.puppyAge);
    	}
    
    }

源文件的声明规则:

在一个原文件中定义多个类,并且还有import语句和package语句时候,要注意以下和规则:
1.一个源文件只能定义一个public 类
2.一个源文件可以拥有多个非public 类
3.源文件的名称应该和public 类的类名保持一致。例如:源文件中public 类的类名是Employee,那么源文件应该命名为Employee.java
4.如果一个类定义在某个包中,那么package语句应该放在源文件的首行。
5.如果源文件中包含import语句,那么应该放在package语句和类定义之间。如果没有你package语句,那么import语句应该放在语句最首行。
6.import语句和package语句对源文件中定义的所有的类都是有效的。在同一文件中不能给不同的类不同的包声明。
7。类有若干种访问级别。并且类也分不同的类型:抽象类和final类等。其中java也有特殊的类,如:内部类、匿名类。

JAVA包

包主要用来对类和接口进行分类。当开发JAVA程序时,可能编写成千上万的类,因此很有必要对类和接口进行分类。

import语句

在java中,如果给出一个完整的限定名,包括包名、类名,那么java编译器就可以很容易的找到源代码或者类。import语句就是用来提供一个合理路径,是的编译器找到某个类

一个简单的例子
在该例子中,我们创建两个类:Employee 和 EmployeeTest。
首先打开文本编辑器,把下面的代码粘贴进去。注意将文件保存为 Employee.java。
Employee类有四个成员变量:name、age、designation和salary。该类显式声明了一个构造方法,该方法只有一个参数。

package com.Emloyee.java;
import java.io.*;
public class Employee {
	String name;
	int age;
	String designation;
	double salary;
	//Employee 类的构造器
	public Employee(String name ){
		this.name = name ;
		
	}
	//设置age的值
	public void empAge( int empAge){
		age  =  empAge;
	}
	/*设置 designation的值*/
	public void empDesignation(String empDesig){
		designation = empDesig;
	}
	/*设置 salary的值*/
	public void empSalary( double empSalary){
		salary = empSalary;
	}
	/*打印信息*/
	public void printEmployee(){
		System.out.println("名字:" + name );
		System.out.println("年龄:" + age );
		System.out.println("职位:" + designation);
		System.out.println("薪水:" + salary);
	}
	

}

测试类如下:

package com.Emloyee.java;
import java.io.*;
public class EmployeeTest {
public static void main(String [] args){
	/* 使用构造器创建两个对象 */
	Employee  empOne = new Employee("张三");
	Employee  empTwo = new Employee("李四");
	
	//调用这两个对象的成员方法 
	empOne.empAge(26);
	empOne.empDesignation("高级程序员");
	empOne.empSalary(1000);
	empOne.printEmployee();
	
	
	empTwo.empAge(21);
	empTwo.empDesignation("菜鸟程序员");
	empTwo.empSalary(500);
	empTwo.printEmployee();
} 
}

以上两段代码 操作即可

Java 方法中加void和不加void的 区别:

只要记住void即无返回值就OK了,如果不用void,那么这个地方一定是被一个其它的类型所替代,比如下面用的是String,当然也可能是int或者Boolean等等,那么此时我们下面就要有一个return返回值。
public class Variable {

public static void speaker(){
	System.out.println("你好");
}
public static String Talk(){
	return "hello";
}
public static void main(String[] args) {
	speaker();
	Talk();
	String aString = Talk();
	System.out.println(aString);
}

}

Java中 static 方法讲解:

static 方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了,并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态的成员变量和方法都必须依赖于对象才能够被调用。
但是要注意的是,虽然在静态方法中不能访问非静态成员变量和非静态成员方法,但是在非静态成员方法中是可以访问静态成员方法/变量的。
例子如下:
上面可以看出来print2是静态的所以说不能访问非静态的print1 相反print1是非静态的 就可以访问print2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值