1.安装Eclipse[IDE–集成开发环境]
1.Eclipse下载链接 https://www.eclipse.org/downloads/
2.Eclipse安装只需要解压缩
3.首次使用Eclipse会有一个选择工作空间的弹框
工作空间:保存我们将来在这个Eclipse上创建的java程序【一个就可以啦】
4.认识Eclipse工作台
5.设置字体
Window—preferences—>搜索“font”---->Colors and Fonts—Basic----Test Font—Edit…
选择自己需要的字体和大小----Apply and Close
6.设置文件的字符编码
Window—preferences—>General—>workspace—>UTF-8—>---Apply and Close
7.开发一个java程序
7.1创建java工程
File–new – java project----project name:自定义的项目名称 — finish
7.2 创建程序包
包----程序包—保存java源代码
包的作用:1.方便管理java源代码
2.区分名称相同的java源代码
创建包:package[空格] 自定义的包名称;出现在类的第一行,表示这个类属于当前包。
例如:记事本中
Hello.java
package my.test;
Public class Hello{
}
自定义的包名称:
1.名称要有意义 。
2.可以由多个合法的标识符组成,中间“.”分割。
3.没有大写字母,不能使用中文。
4.公司域名倒置.项目名称.功能。
例如:com.baidu.mapapi.search.core
Eclipse中创建包–选中src—右键—package----自定义的包名称[com.wangxing.testjava.test]
导包:当被访问的java类不在用一个包中的时候,就需要导包。
在当前类中通过import[空格] 包名称+类名/;
例如:import com.wangxing.testjaca.lean.Student;[具体到某一个Java类]
import com.wangxing.testjaca.lean.;[整个包中的所有类]
import语句出现在创建包的语句下面[package] 【Ctrl+Shift+o】
java.lang包是不需要手动导入,系统会自动导入,其他的都需要手动导入。
例如:
package com.wangxing.testjava.test;
import com.wangxing.testjaca.lean.Student;
public class TestMain {
public static void main(String[] args) {
Student stu=new Student();
}
}
7.3.创建类
选中指定的包—右键—class—>Name:自定义类名称【Student】----finish
package com.wangxing.testjaca.lean;
public class Student {
public void testMethod() {
System.out.println("这是Student类中的实例方法");
}
}
package com.wangxing.testjava.test;
import com.wangxing.testjaca.lean.Student;
public class TestMain {
public static void main(String[] args) {
Student stu=new Student();
stu.testMethod();
}
}
7.4.运行程序
找到主类【包含主方法的Java类】,主类可能有多个,选中自己需要被执行的主类打开。
然后在主类的主方法中的任意一个位置右键—》Run As…—>java Application—运行结果就会输出到Console视图窗口中【Console视图窗口–控制台】
如果程序运行有错误,那么控制台就会输出程序的错误信息。
2.java中的类
2.1 什么是类?
类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。类就是有相同特征的事物的集合,而对象就是类的一个具体实例。
1.类–类型–数据类型–复合数据类型–自定义复合数据类型
基本数据类型就8种,在开发中远远不够,所以我们就需要一个可以根据自己的需求随时能制作出一个自己需要的数据类型。
2.将性质或特征相同的元素抽象出来的事物
在java中用来描述具有性质或特征相同的元素抽象出来的自定义复合数据类型
2.2 创建java类
通过class关键字创建java类
格式:【public】 class 类名{}
【public】–访问限制修饰符
class — 创建类的关键字,是类的标志
类名—首字母大写
{}-----类体,放的内容具有性质或特征相同的元素
例如:
public class Student{} 任何地方都可以访问
class Person{} 只能被同一个包中的类访问
2.3 Java类体{}中可以编写什么?
java中的类体介绍:类体中包括成员变量的声明和方法的定义,成员变量又分为实例变量和类变量,定义的方法可分为实例方法和类方法。
{}–类体放的内容具有性质或特征相同的元素
具有性质或特征相同的元素是用来描述某一组事物
如何描述一个具体的事物?
我们在描述一个具体的事物时是通过从基本属性和基本功能开始的
{}–某一组事物的相同基本属性和相同基本功能
{}–属性和功能。
{}–变量和方法。
2.4 java类中的变量
1.变量的本质就是保存数据。
2.变量组成有 1.数据类型 2.变量名称 3.初始值 4.作用域。
3.变量用来描述事物的基本属性。
4.变量一定定义在类中。
5.变量的分类。
总结区别:Java的类中有三种变量,三种变量的区别分别是:
1、局部变量:这是一种定义在方法内部中的变量。这就表示这种变量的作用域就是在该方法内部。其他方法中无法调用该变量。
2、成员变量:这是定义在类的内部但方法外的变量,在创建对象的时候可以实例化该对象。作用域是整个类内部。(包括所有方法)
3、类变量:这跟成员变量一样,是定义在类的内部方法体之外。但与之不同的是这是一种静态的变量,说白了就是必须要用static修饰。通常使用类名+变量名来使用,可以不用创建对象。大大提高了内存的使用效率。
接下来为大家说明一下这三个变量中常见的错误。
局部变量中不能用public、private、protected、static,顾名思义局部变量的范围就是在所在方法的内部,没有必要再使用访问权限修饰符。Java中方法内部的变量是通过栈的方式创建的。该方法执行结束,变量自动被销毁。这与静态变量的矛盾。
1.类中方法外—全局变量【成员变量】
1.可以使用访问限制修饰符【public 缺省的{友好的}】
2.可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置 一个初始值。
3.可以在本类中的任意一个方法中被使用
例如:
package com.wangxing.zyb.bianliang;
public class QuanJu {
//使用访问限制修饰符
public int testbianlaing1;//变量可以不用赋值,系统自动赋值
char testbianlaing;//缺省变量
char testchar='A';
//可以在本类中任意一个方法中被调用
public void method() {
System.out.println("int testbianlaing1=="+testbianlaing1);
System.out.println("char testchar=="+testchar);
}
public void method2() {
System.out.println("int testbianlaing1=="+testbianlaing1);
System.out.println("char testchar=="+testchar);
}
}
2.类中方法里【方法参数】—局部变量
1.不能使用访问限制修饰符。
2.必须设置初始值
3.只能在本方法中使用。
例如:
package com.wangxing.zyb.bianliang;
public class JuBu {
//
public void method() {
//public String mane;不能有访问限制修饰符
//String mane;必须有初始值
String name="zhangsan";
System.out.println("局部变量=="+name);
}
public void method2() {
//System.out.println("局部变量=="+name);只能在本方法中使用
}
}
6.成员变量的隐藏
在同一个类中成员变量与某一个方法中的局部变量的名称相同,这时我们在方法中 使用这个成员变量的时候,得到的结果是局部变量的值,此时就是方法中的局部变 量将类中成员变量的值隐藏了,这就是成员变量的隐藏。
如果需要在方法中使用被隐藏的成员变量的值怎么办?
使用this.成员变量名称 — 就可以得到被隐藏的成员变量值
例如:
package com.wangxing.zyb.bianliang;
public class YinCang {
//成员变量
public String name="zhangsan";
//方法
public void method1() {
//局部变量
char name='A';
//局部变量的值隐藏了成员变量的值,和数据类型无关
System.out.print("name=="+name);
//成员变量的植被隐藏了,可以是用this.成员变量名称--可以得到隐藏的值
}
}
package com.wangxing.zyb.bianliang;
public class Test {
//测试代码
public static void main(String[] args) {
YinCang yc=new YinCang();
yc.method1();
}
}
7.静态成员变量与实例变量
1.静态成员变量与实例变量都是成员变量
2.静态成员变量是用过static关键字修饰的
3.实例变量就是普通的成员变量,没有使用static关键字修饰的成员变量
实例变量–成员变量
1.可以使用访问限制修饰符【public 缺省的{友好的}】
2.可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置 一个初始值。
3.可以在本类中的任意一个方法中被使用
4.只能被对象访问
5.不能在同一个类对象之间共享数据值
静态成员变量【类变量】–成员变量
1.可以使用访问限制修饰符【public 缺省的{友好的}】
2.可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置 一个初始值。
3.可以在本类中的任意一个方法中被使用
4.可以被对象访问,也可以用类名访问
5.能在同一个类对象之间共享数据值
例如:
package com.wangxing.zyb.bianliang;
public class JinTai {
//实例变量-成员变量
public String name="zhangsan";
//静态成员变量-类变量
public static String address="西安";
public void test1() {
System.out.println("实例变量=="+name);
//System.out.println("实例变量=="+JinTai.name);不能类名访问
System.out.println("静态成员变量=="+address);
//静态可以类名访问
System.out.println("静态成员变量=="+JinTai.address);
}
}
package com.wangxing.zyb.bianliang;
public class Test {
//测试代码
public static void main(String[] args) {
//创建JinTai类对象
JinTai jt=new JinTai();
System.out.println("实例变量=="+jt.name);
//System.out.println("实例变量=="+JinTai.name);实类变量只能对象访问
//静态可以对象访问可以类名访问
System.out.println("静态变量=="+jt.address);
System.out.println("实例变量=="+JinTai.address);
}
}
package com.wangxing.zyb.bianliang;
public class Test {
//测试代码
public static void main(String[] args) {
JinTai jt1=new JinTai();
JinTai jt2=new JinTai();
//实例变量不能在同一个对象之间共享数据值
System.out.println("实例变量1=="+jt1.name);
jt1.name="lisi";
System.out.println("实例变量1=="+jt1.name);
System.out.println("实例变量2=="+jt2.name);
}
}
package com.wangxing.zyb.bianliang;
public class Test {
//测试代码
public static void main(String[] args) {
JinTai jt1=new JinTai();
JinTai jt2=new JinTai();
//静态成员变量
System.out.println("静态成员变量1=="+jt1.address);
jt1.address="北京";
System.out.println("静态成员变量1=="+jt1.address);
System.out.println("静态成员变量2=="+jt2.address);
}
}
静态成员变量与实例变量的区别?