文章目录

  • JAVA的重写、重载、继承
  • 前言
  • 一、作业题目:
  • 二、答案及解析
  • 1.Q1
  • 2.Q2
  • 3.Q3



JAVA的重写、重载、继承



基本内容介绍:

1.继承:是Java中两个类的代码存在大量重复的时候,我们采用将公共部分提取出来,作为一个新的类,并称之为父类,刚开始重复的类作为父类的子类,通过继承父类的方法和变量,以获取父类中的内容。
所以,继承是类和类之间的事!

2.重写:在父类和子类之间,当你在子类里面写到了和父类中同名,同返回值,同参数个数,同参数类型(总之哪哪都相同)的方法的时候,就实现了对父类这个方法的覆盖,即重写。子类对象调用的时候调用的是你重写过后的子类的方法,若还想要调用父类中原来的方法,则要用super.方法名的方法调用。

3.重载:是在一个类里面,多个方法的方法名相同,但是参数列表不同,返回值可同可不同,调用的时候根据你写的参数的情况识别调用相应的方法。实现类以同一方式处理不同数据。

4.多态性:同一个行为/方法,有不同的表现形式,使用不同的实例而有不同的操作。重写,接口,重载都是程序方法多态性的体现。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


文章目录

  • JAVA的重写、重载、继承
  • 前言
  • 一、作业题目:
  • 二、答案及解析
  • 1.Q1
  • 2.Q2
  • 3.Q3



前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、作业题目:

Exercice : classe des personnes
Question 1
Écrivez une classe permettant de représenter des personnes. Les
 informations à représenter sont le prénom et le nom de la personne, son
 numéro INSEE (numéro de sécu) et son numéro de téléphone.La classe devra comporter un constructeur pour initialiser les instances
 ainsi que des méthodes pour accéder aux différentes informations. Pour
 ce qui est des modifications de données, on suppose que les noms,
 prénoms et numéros INSEE ne changent jamais, mais qu’une personne peut
 changer de numéro de téléphone. Il faut donc prévoir une méthode pour
 cela. La classe comportera aussi une méthode toString renvoyant une
 chaîne de caractère.Question 2
Créez plusieurs objets représentant des personnes et changez leurs
 numéros de téléphone.Question 3
Ajoutez à la classe une méthode permettant de tester si deux personnes
 ont le même nom de famille. Cette méthode ne doit pas faire d’affichage
 mais elle doit renvoyer un résultat booléen. Ajoutez au programme une
 invocation de méthode utilisant cette nouvelle méthode.


机翻:
问题1:

写一个类来表示人。对于要表示的信息是这个人的名字和名字INSEE号码和电话号码。类必须包含一个构造函数来初始化实例以及获取不同信息的方法。对于在数据更改方面,假定名称为INSEE的名字和号码永远不会改变,但一个人可以更改电话号码。因此,必须有一种方法这人。类还将包含一个toString方法,该方法引用字符串。

问题2:

创建几个表示人员的对象并更改它们电话号码。

问题3

在课堂上增加一种方法来测试两个人是否他们有相同的姓氏。这种方法不应该显示但它必须返回布尔结果。在节目中增加一个使用此新方法的方调用。

二、答案及解析

1.Q1

代码如下(示例):

public class Q1 {

		
		
		private String nom;
		private String prénom;
		private int sécu;
		private long télé;
		
		public void Set(String a,String b,int c,long d) {
			
			this.nom = a;
			this.prénom = b;
			this.sécu = c;
			this.télé = d;
		}
			
		public void Modifier(){
			
			Scanner sa = new Scanner(System.in);
			System.out.print("modifier le nom :");
			String c = sa.next();
			this.nom = c;
			
			Scanner sb = new Scanner(System.in);
			System.out.print("modifier le prénom :");
			String d = sb.next();
			this.prénom = d;
			
			Scanner s = new Scanner(System.in);
			System.out.print("modifier le sécu :");
			int a = s.nextInt();
			this.sécu = a;
			
			Scanner sc = new Scanner(System.in);
			System.out.print("modifier le télé :");
			int b = s.nextInt();
			this.télé = b;
			
				}
		
		public void show() {
			
			System.out.println("nom : "+nom.toString());
			System.out.println("prénom : "+prénom.toString());
			System.out.println("sécu : "+sécu);
			System.out.println("télé : "+télé);
			
		}
		
		
		public static void main(String[] args) {
			
			Q1 P = new Q1();  //调用方法前一定要先创建对象
			P.Set("yue", "Xu", 13, 1996530);
			P.show();
			
			Scanner sd = new Scanner(System.in);
			System.out.print("Vous voulez les modifier?(o/n) :");
			String cs = sd.next();
			if(cs.equals("o")) {  //根据输入的字符判断后续操作的语句,equals返回的是一个布尔值,可以用在需要布尔值的表达式里
				
				if(P.nom == "yue" && P.prénom == "Xu") {
				System.out.println("Avoir le pouvoir pour modifier!");
					
				P.Modifier();
				
			}
				else  
					System.out.print("Vous n'avez le droit! ");
			
			}
			
			P.show();
			
		}
}

Java的重载是怎么回事 java里重载_System

2.Q2

代码如下(示例):

public class Q2 {
	
	private String nom;
	private String prénom;
	private int sécu;
	private long télé;
	
	public void Set(String a,String b,int c,long d) {
		
		this.nom = a;
		this.prénom = b;
		this.sécu = c;
		this.télé = d;
	}
		
	public void Modi(){
		
		Scanner sc = new Scanner(System.in);
		System.out.print("modifier le télé :");
		int b = sc.nextInt();
		this.télé = b;
		
			}
	
	public void show() {
		
		System.out.println("nom : "+nom);
		System.out.println("prénom : "+prénom);
		System.out.println("sécu : "+sécu);
		System.out.println("télé : "+télé);
		
	}
	
	
	public static void main(String[] args) {
		
		Q2 P1 = new Q2(); 
		P1.Set("yue", "Xu", 13, 1996530);
		P1.show();
		
		Q2 P2 = new Q2();
		P2.Set("yihang", "Lu", 11, 1855657);
		P2.show();
		
		Q2 P3 = new Q2();
		P3.Set("zhenghong", "Xu", 12, 1386523);
		P3.show();
		
		Q2 P4 = new Q2();
		P4.Set("mulan", "Ji", 13, 1350051);
		P4.show();
		
		Scanner sd = new Scanner(System.in);
		System.out.print("Vous voulez modifier leurs numéro de téléphone?(o/n) :");
		String cs = sd.next();
		if(cs.equals("o")) {
			Scanner s = new Scanner(System.in);
			System.out.print("Choisiez une personne(1~4) :"); //switch怎么输入P1
			int a = s.nextInt();
			switch (a) {
			case 1:
				P1.Modi();
				break;  //case语句的break不要忘记了!
			case 2:
				P2.Modi();
				break;
			case 3:
				P3.Modi();
				break;
			case 4:
				P4.Modi();
				break;
			default:
	            System.out.println("default");
	   
			}
			
		}
		P1.show();
		P2.show();
		P3.show();
		P4.show();
	}

}

Java的重载是怎么回事 java里重载_System_02

3.Q3

代码如下(示例):

public class Q3 {

	 public String nom;
	 public String prénom;
	 public String sécu;
	 public String télé;
	
	public void Set(String a,String b,String c,String d) {
		
		this.nom = a;
		this.prénom = b;
		this.sécu = c;
		this.télé = d;
	}
	
	public static  boolean Comp(String p,String d) {
		
		if(p==d)
			
			return true;
		
		else
			
			return false;
	}
	
	public void show() {
			
			System.out.println("nom : "+nom);
			System.out.println("prénom : "+prénom);
			System.out.println("sécu : "+sécu);
			System.out.println("télé : "+télé);
			
		}
	public static void main(String[] args) {
		
		Q3 P1 = new Q3(); 
		P1.Set("yue", "Xu", "13", "1996530");
		P1.show();
		
		Q3 P2 = new Q3();
		P2.Set("yihang", "Lu", "11", "1855657");
		P2.show();
		
		Q3 P3 = new Q3();
		P3.Set("zhenghong", "Xu", "12", "1386523");
		P3.show();
		
		Q3 P4 = new Q3();
		P4.Set("mulan", "Ji", "13", "1350051");
		P4.show();
		
		Scanner sd = new Scanner(System.in);
		System.out.println("Choisiez deux personnes :");
		System.out.println("le premier :");
		int x = Integer.parseInt(sd.nextLine());
		Scanner sf = new Scanner(System.in);
		System.out.println("la deuxième :");
		int y = Integer.parseInt(sf.nextLine());
		
		String a = P1.prénom.toString();
		String b = P2.prénom.toString();
		String c = P3.prénom.toString();
		String d = P4.prénom.toString();
		
		String[] pnom = {a,b,c,d};
		String m = pnom[x];
		String n = pnom[y];
		
	
		if(Comp(m,n)) {
			System.out.print("ils ont le même nom de famille");
		}
		else
			System.out.print("ils n'ont pas le même nom de famille");
		
	}
}

Java的重载是怎么回事 java里重载_java_03