Java 语法总结 与 回顾

此总结来自B站中 动力节点, 感谢老师的辛勤讲解。总之优秀还有很多没有学会,要加油吖

1、 break 与 continue 区别

1、continue:表示继续执行下一次循环。
2、break: 	表示中断本次循环。满足条件即跳出循环。

栗子:

for MyExer : for (int i =0;i<10; i++){
if(i == 6){
	continue  MyExer;
	break;
}
System.prtln("i="+i);
} 
System.out.println(....)

2、while(){} 与do…while (){}

while() 		先判断在执行。
do... while (); 先执行在判断。。

3、super和this

super和this的用法相同:this代表本类应用 ;super代表父类引用 。

this 是一个关键字,翻译为这个:
1、this 是一个引用,this 是一个变量,this 变量中保存了内存地址值本身,this存储在JVM堆内存Java 对象内部。
2、this 出现可以出现在"实例方法"当中,this 指向当前正在执行这个动作的对象。this代表本类对象
3、this 不能出现在带static 关键字的方法中。

4、方法的本质是什么?

方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以重复的使用。。

– 方法是定义在类体当中,在一个类中可以定义多个方法,方法编写的位置没有先后顺序。。。

注意点:方法体中不能定义方法.

4.2、形式参数列表:简称形参

形参是局部变量: int a, int b ,String name, String age,
形参的个数据可以是:0 - N个
多个形参之间用 :"逗号" 隔开
形参中起决定性因素的是形参的数据类型,形参的名字就是局部变量的名字...
方法在调用的时候,实际给这个方法传递的真实数据被称为 :实际参数(实参)
					int a,int b 是形参列表
public static int  sum(int a,int b){

sum(10,20)
}

public static void sumint (int a, int b){
修饰符列表 返回值类型 方法名 (形式参数列表)

int c =a+b
	方法体。

System.out.println(a+ " + "  + b + " - " +c );
}

public class MethodTest{
Main 方法
// 调用 MethodTest.m
m 可以省略
}
public static void m(){

System.out.println(“My Name is ZHIQIANG”);
}

5、方法的重载?Overload

程序员调用方法的时候,比较方便,虽然调用的是不同的方法,但是就感觉使用一个方法。
代码美观。
前提:功能相似的时候,方法名可以相同。

栗子:
public class Overload{
	main 方法
	System.out.println(sum(1,2))
	
	}

public static int sum(int a, int b){
		System.out.println("sum(a+b)")
	return a+ b;
}

	// 形参
public static  long sum (long a, long b){
		System.out.println("sum(a+b)")
	return a+ b;
}
3.1什么时候使用方法的重载?
	功能相似的时候,方法名尽肯能让方法名相同。
	【但是:功能不同/不相似的时候,尽可能让方法名不同】
3.2什么条件满足之后构成了方法的重载?
	在同一个类当中
	方法名相同
	参数列表不同:
			-参数不同
			-顺序不同
			-类型不同
	栗子:
	public class OverloadTest{
		
	--------------以下两个方法构成了重载--------------------
	public 	static  void m1(){}
	public 	static  void m1(int a){}
	
	--------------以下两个方法构成了重载--------------------
	public  static void m2( int a,double b ){}
	public static void m2 (double a,int b){}
	
	-------------以下两个方法构成了重载---------------------
	public static void m3(int x){}
	public static void m3(double x){}
	}			
	## 形参中决定关键因素的是数据类型。。
	
3.3方法重载和什么有关系,和什么没有关系?
	1、方法重载和方法名+参数列表有关系
	2、方法重载和返回值类型无关
	3、方法重载和修饰符列表无关

在这里插入图片描述

6、创建类的属性

手动赋值

Person p = new Person();
String name =" Baby"
String age =“19”;

System.out .println(P.name);
System.out .println(P.age);


7、封装

 1、set and get 方法没有static关键字
2、有static关键字修饰的方法怎么调用:类名.方法名(实参);
	
3、没有static关键字修饰的方法怎么调用:引用.方法名(实参);

4、 coustem c = new coustem();
	c 是引用数据类型
	c.属性。

关于Java类中的构造方法:

1、构造方法又被称为构造函数/构造器/
2、对于构造方法来说,构造方法的方法名必须和类名保持一致。
3、构造方法的作用?
构造方法的意义是,通过构造方法的调用,可以创建对象。
1、创建对象
2、给实例变量赋值
3、
4、构造方法怎么调用?
-普通方法的调用:方法修饰中有static的时候: 类名.方法名(实参列表)、

				方法修饰中没有static的时候:引用.方法名(实参列表)

-构造方法的调用:new 构造方法名(实参列表)

5、构造方法调用之后,有返回值吗?
每一个构造方法实际上执行结束之后都有返回值,但是这个"return 值"这样的语句不需要写。构造方法结束的时候Java程序自动返回值。
并且返回值类型是构造方法所在类的类型,所以不需要写返回值类型。

6、当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无惨的构造方法,这个构造方法被称为缺省构造器。
//有参数的构造方法
栗子:public User(int i){
System.out.println(“int 类型参数的构造器”);
}
//有参数的构造方法
public User(int i ,String name){
System.out.println(“带有int,String类型的构造器”);
}
//创建User对象
//调用User类的构造方法来完成对象的创建
User u =new User();
User u2 = new User(10,“张三”);
以上程序创建了2个对象,只要构造函数调用就会创建对象,并且一定是"堆内存中"开辟内存空间。


1、get set 方法;
2、提供有参、无参
3、
Customer c2 =new Customer(1111,"张三 ",“1980-7-11”);
System.out.println(c2.getno());
System.out.println(c2.getname());
System.out.println(c2.brith());
4、
// 实例变量如下:
int i= 10;
// 实例方法如下:
public void dosome(){

}

8、继承 extend

1、继承基本的作用?
1、代码复用
2、有了继承才有了以后 "方法的覆盖” 和 “ 多态机制”;

继承的概念?
java 语言当中的继承只有单继承,一个类不能继承很多类,只能继承一个类。

2、在Java语言当中子类继承父类都继承哪些数据?
  • 私有的不支持继承
  • 构造犯法不支持继承
  • 其他数据都可以被继承
3、关于继承中的一些术语:

B类继承A类,其中:
A类称为:父类、基类、超类、superclass
B类称为:子类、派生类、subclass

4、关于Java语言中方法的覆盖:
4.1、方法的覆盖又被称为方法的重写,英语单词:Override
4.2、什么时候使用方法的重写?
当父类中的方法已经无法满足当前子类的业务需求,
子类有必要将父类中继承过来的方法进行重写,
这个重新编写的过程称为:方法重写、方法覆盖。
4.3、什么条件满足之后方法会发生重写呢?
  • 方法重写发生在具有继承关系的父子类之间
  • 返回值类型相同,方法名相同。形参列表相同。
  • 访问权限不能更低。。。
4.4 注意点:

【 建议在方法重写时尽量复制、黏贴、容易出错、导致没有产生覆盖 】。
私有方法不能继承,所以不能覆盖。
构造方法不能继承,所以不能覆盖。
静态方法不存在覆盖。
覆盖只针对方法,不谈属性。

9、多态:

1、向上转型:子类指向父类型。又被称为:自动类型转换。
2、向下转型:父类指向子类型。又被称为:强制类型转换。【需要加强制类型转换符】
3、需要记忆:无论是向上转型还是向下转型 两种类型 之间必须要有继承关系。没有继承关系,编译无法通过的。
4、多态的作用是什么?

降低程序的藕合度,提高程序的扩展力。
能使用多态,尽量使用多态。
父类指向子类型对象。


多态总结:

成员访问特点
成员变量
编译看左边,运行看左边
成员方法
编译看左边,运行看右边
静态方法
编译看左边,运行看左边
所以前面我说静态方法不能算方法的重写

10 、静态代码块:

在这里插入图片描述

11、栈、堆、方法区、

在这里插入图片描述

这个还没理解,先学会语法在补这块,过!!!!!

12、final关键字

1、final关键字是最终的意思,可以修饰类,成员变量,成员方法。
修饰类,类不能被继承
修饰变量,变量就变成了常量,只能被赋值一次
修饰方法,方法不能被重写

2、final 修饰的实例变量是不可变的,这种变量一般和static 联合使用,被译为:“常量”

package iwork3;

import iwork2.stitic;

/**

  • 需求:每一個中國人的國際都是中國人,而且国籍不会改变,為了防止国籍被修改,建议加final;
  • @author Administrator

*/
public class FinalTest {
public static void main(String[] args) {
System.out.println(chinese.country);
}
}

/**

  • 常量的語法格式如下:
  • public static final 類型 變量名 = “值”;
    */
    class chinese {
    public static final String country =“我是中國人。。。。。”;
    }

在这里插入图片描述

【转载注明出处,还望尊重原创 】

《要相信自己吖. 》

【作者水平有限,如有错误欢迎指正 .】

地址:上海,天气晴,时间:2020-6-14 12:19;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46163590/article/details/106733003