JAVA编程思维

发布于:2022-07-26 ⋅ 阅读:(430) ⋅ 点赞:(0)

1.了解面向对象

分类: 先通过功能和属性角度分类
001 干什么/ 002 用在哪
分析之后再分类:先通过功能和属性角度分类

2.新建程序

2.1新建一个项目

file→new→project→Java Project→Project name [不能有@和_以外的特殊字符及中文]
若界面上无大纲视图,可以通过顶部window→Show View→Project Explorer打开

2.2新建一个包

在此基础上,分成几个模块(包)
右键src→new package(包名首字母小写)→finish

2.3新建一个类

再模块的基础上,将模块分成类(class)
右键package→new class(首字母大写)→选择需要的选项(superclass/Interface)→finish

3.类的组成

,指的是一类事物,事物的描述从哪个方向: 属性和功能

属性: 成员变量(也成为类的成员变量)

如何定义属性

//①修饰词 数据类型 变量名 = 值 ;
//②修饰词 数据类型 变量名 ;
1)修饰词: 权限修饰词(final/static等)
final , 最终的,修饰属性时表示属性不可变(对象名只能用大写);
2)数据类型: 数据的类型及范围

名称 类型 备注
String 字符串类型 对应的数据需要用双引号引起来
int 整数类型 整数常用的类型,父类是Integer,取值范围为约为±21亿
double 浮点数类型(小数类型) 双精度浮点数,小数常用的类型

3)变量名命名规范:
1.字母/数字/下划线( _ )/美元符( $ )
2.不能以数字开头
3.不能使用关键字和保留字
4.尽量见名知意
⑤.驼峰命名法(多个单词时,单词首字母大写)
例:userName

4.类的方法的理解及概念

4.1 概念

方法: 方法也就是功能,也成为成员方法,是类的组成部分

4.2认识主方法(特殊的方法)

public static void main(String[] args) {
    //TODO
}

功能: 程序运行的入口,不属于某个类特有的,所以不能称为成员方法

语句 public static void main ( String[] args ) { //TODO }
作用 权限修饰词 静态修饰词 返回值类型 方法名 方法参数 方法内容
释义 公开的 静态 无(空)返回值 方法 字符串 变量 方法体

4.3返回值类型

方法执行完后,向方法体外返回的值的类型,若没有返回的值,用void表示即可
返回关键词: return

4.4参数

参数 分为形式参数和实际参数
形式参数: 定义方法时的参数,写在小括号()内
**定义:**数据类型 参数1 ,数据类型 参数2 …

例如:public void meth( int i , int k ){
}//int i , int k 为参数

实际参数: 在使用方法时,传入的参数值

例如:public doublr meth(int i){
		return	Math.PI * i * i ;
}//PI 为传入的参数值

4.5static修饰方法

static 静态的
定义方法时,表示这个方法是属于类的,可以直接以类名来调用
例如:

package my;

public class TestA {
	//定义非静态方法f,无返回值类型	
	public void method1() {
		System.out.println("一个方法_from-TestA");
	}
}
package my;

public class TestB {
    
    static TestA obj =new TestA();	
    
	static void method1() {
		System.out.println("一个静态方法_from-TestB");
	}	
    
	public static void main(String[] args) {
		TestB.obj.method1();//通过类名进行调用其静态方法
		TestB.method1();//本地重名的静态方法不受冲突
	}
}

输出结果为:

//一个方法_from-TestA
//一个静态方法_from-TestB

5.对象的定义

5.1什么是对象?

对象: 更多时候指的是类的具体事物(在程序中,万物皆对象)
例如:程序员与张三,程序员是一类事物,张三就是这类事物的对象
英雄是一类事物,吕布是这类事物的对象

5.2对象的定义

类名 对象名 = new 类名();

5.3使用属性

对象名.属性

6.方法的重载(Overload)

定义: 在定义方法时,参数列表不一样,方法名一样

参数列表: 参数的个数/参数的顺序/参数的类型(只要有一个不同,则不同)
在调用时,会根据实际参数的类型,选择对应的方法运行
例如:

package my;

public class TestAnd {
	//方法1,全整数求和
	public void add(int num1 , int num2) {
		System.out.println(num1+num2);
	}
	//方法2,全小数求和
	public void add(double num1 , double num2) {
		System.out.println(num1+num2);
	}
	//方法3,前整数,后小数求和
	public void add(int num1 , double num2) {
		System.out.println(num1+num2);
	}
	//方法4,前小数,后整数求和
	public void add(double num1 , int num2) {
		System.out.println(num1+num2);
	}

}

方法调用:

package my;

public class TestMainMethod {

	public static void main(String[] args) {
		TestAnd a = new TestAnd() ;
		a.add(1, 1.2);//自动选择方法3---输出结果为2.2
		a.add(4, 2);//自动选择方法1---输出结果为6		
	}

}

7.构造方法

构造方法: 专用于创建对象,创建类时,java自动在底层创建空的构造方法
若自己定义了构造方法,则覆盖默认构造方法(建议:在重重载造方法时,建议先把默认构造方法写出来)

package my;

public class Cons {
	// 默认构造方法
	public Cons() {
		System.out.println("构造方法");
	}

}

在调用时,语句会被输出:

package my;

public class TestMainMethod {
	
	public static void main(String[] args) {
		
		Cons obj = new Cons();
	}
	
}//输出结果为:构造方法

特点:

  • 不能加static/final修饰词
  • 不能加返回值类型
  • 方法名和类名相同
  • 在创建对象时,会自动调用构造方法

面试例题: this在构造方法中的作用是什么?
—表示当前对象,方便初始化

#拓展内容

1.创建一个windows窗口

package my;
//将负责界面的类JFrame导入
//import,即:导入
import javax.swing.JFrame;

public class TestGameFrame {
	
	public static void main(String[] args) {
		//新建JFrame类对象
		JFrame frame = new JFrame() ;
		//设置窗口宽高
		frame.setSize(800, 500);
		//设置显示窗口
		frame.setVisible(true);
		//让窗口在屏幕居中
		frame.setLocationRelativeTo(null);
		//设置窗口标题
		frame.setTitle("测试窗口");	
	}
}

网站公告

今日签到

点亮在社区的每一天
去签到