java基础语法

java基础语法,第1张

1、数组
  • 一维数组

    语法

    第一种:数据类型[] 数组变量名 = new 数据类型[整数]; 整数为数组长度

    第二种:数据类型[] 数组变量名 = {值1, 值2, 值3, …}; 数组的长度根据初始化决定

    第三种:数据类型[] 数组变量名 = new 数组类型[]{值1, 值2, 值3, …};

  • 二维数组

    数组里面再套数组

    语法

    数据类型[][] 数组变量名 = new 数组类型[整数][整数]

2、方法的重载

定义:在同一个类中,方法的名字一样,参数列表不一样(包括参数类型)的两个方法是重载关系,跟返回值没有关系

目的:为了节约方法的功能命名和提高代码的可读性

3、this关键字

this只能在对象方法内使用

对于类的对象来说,属性是每一个对象都有一份的,是数据隔离的,但是方法是多个数据共享的。


不同对象调用这个方法的时候,是用this来区分不同对象的数据,this是可以隐藏的。


4、构造器

用于创建对象的方法,固定格式,给对象赋初始值。


我们使用new的时候相当于调用了类里面的构造器方法

构造器本身是一个方法

​ 1没有返回值,也没有void

​ 2构造器的方法名必须和类名一致

​ 3在方法中要定义要初始的参数列表

语法:

权限修饰符 类名(数据类型 参数名) {
    
}

默认构造器

权限修饰符 类名() {
    
}

有参构造器

权限修饰符 类名(数据类型 参数) {
    
}

注意点:

  • 如果一个类存在有参构造器,那么默认的构造器就会被覆盖,如果需要默认的构造器,就要显示的定义
  • 同一个类中的构造器可以互相调用,需用通过this()来调用,this()必须在第一行
  • 在构造器中调用其他构造器,不会创建对象,只初始化
5、static关键字
  • 属性上

    加上static的属性是类的静态属性

    特点:

    • static修饰的类属性的访问可以通过:类名.类属性 ,还可以通过对象来访问
    • static修饰的类属性在当前的class文件加载到jvm的时候就被初始化
    • 当jvm销毁了这个类,那么这个类的static属性也被销毁
  • 方法上

    语法:public static (返回值) 方法名(数据类型 变量) {

    ​ 方法体

    ​ return 结果

    }

    static修饰的方法就是类静态方法

  • 注意点:

    • 类方法初始化很早,类被jvm加载后,就初始化了类方法,而普通方法(对象的方法)也加载进入了jvm,但是要等到对象被实例化后,这个方法才能被使用
    • 普通方法中访问该属性时,隐藏了this,如果没有实例化,这个this就不存在
    • static修饰的方法不能访问没有static修饰的类属性,即类方法不能访问对象非static修饰的属性,也不能调用非static修饰的方法
    • 对象方法可以访问类的所有属性和方法
  • 静态代码块

    语法:

    class A {
        // 静态代码块
        static {
            
        }
    }
    

    静态代码块主要用于初始化资源

    静态代码块在main之前执行

6、设计模式

单例模式

这种模式只产生一个对象

应用场景:windows资源管理器,java数据库中的连接池,网站的计数器。


一般使用单例模式实现,否则难以同步

步骤:

  • 私有化构造参数
  • 定义一个类方法用于获取单例的对象
  • 在类中提供一个这个类类型的类属性(要用static修饰)
  • 在类方法中返回实例化对象
/**
 * 懒汉式单例
 */
public class Singleton {
	
	private static Singleton singleton;

	private Singleton() {
		
	}
	
	public static Singleton getSingleton() {
		
		if(singleton == null) {
			singleton = new Singleton();
		}
		
		return singleton;
	}
}
/**
 * 饿汉式单例
 */
public class Singleton2 {
	
	private static Singleton2 singleton = new Singleton2();

	private Singleton2() {
		
	}
	
	public static Singleton2 getSingleton() {
		return singleton;
	}
}
7、final
  • 修饰变量

    用final修饰的变量不能修改

  • 修饰类属性

    这个属性必须初始化或者在构造函数中赋值,如果有多个构造函数,每个方法都得给这个final属性初始化

  • 修饰方法

    final修饰的方法不能被重写

  • 修饰类

    不能被继承

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/571838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存