30天学会JAVA—练习题(2021韩顺平)——Day8

1.代码【自己】

class Person{
   
	String name;
	int age;
	String job;
	
	public Person(String name, int age, String job) {
   
		super();
		this.name = name;
		this.age = age;
		this.job = job;
	}
}

public class Test {
   	
	public static void main(String[] args) {
   
		Person person1 = new Person("ada", 12, "student");
		Person person2 = new Person("张三", 35, "worker");
		Person person3 = new Person("李四", 24, "teacher");	
		
		Person[] persons = new Person[]{
   person1,person2,person3};
		
		System.out.println(Arrays.toString(persons));
		for(int i = 0 ; i < persons.length - 1; i++){
    //要减一,别忘了
			for(int j = 0; j < persons.length -1 - i ; j++){
   
				if(persons[j].age > persons[j+1].age){
   
					Person temp = persons[j];
					persons[j] = persons[j+1];
					persons[j+1] = temp;
				}
			}			
		}		
		System.out.println(Arrays.toString(persons));
	}
}

代码【老师】

package experiments;

import java.util.Arrays;

class Perason{
   
	private String name;
	private int age;
	private String job;
	
	public Perason(String name, int age, String job) {
   
		super();
		this.name = name;
		this.age = age;
		this.job = job;
	}

	public String getName() {
   
		return name;
	}

	public void setName(String name) {
   
		this.name = name;
	}

	public int getAge() {
   
		return age;
	}

	public void setAge(int age) {
   
		this.age = age;
	}

	public String getJob() {
   
		return job;
	}

	public void setJob(String job) {
   
		this.job = job;
	}

	@Override
	public String toString() {
   
		return "Perason [name=" + name + ", age=" + age + ", job=" + job + "]";
	}
	
	
}

public class Test {
   	
	public static void main(String[] args) {
   
		Perason[] perasons = new Perason[3];
		
		perasons[0] = new Perason("ada", 12, "student");
		perasons[1] = new Perason("张三", 35, "worker");
		perasons[2] = new Perason("李四", 24, "teacher");	
		
		System.out.println("原始为:");
		for(int i = 0 ; i < perasons.length; i++){
   
			System.out.println(perasons[i]);//重写了toString
		}
		
		for(int i = 0 ; i < perasons.length - 1; i++){
    //要减一,别忘了 
			for(int j = 0; j < perasons.length -1 - i ; j++){
   
				if(perasons[j].getAge() > perasons[j+1].getAge()){
   
					Perason temp = perasons[j];
					perasons[j] = perasons[j+1];
					perasons[j+1] = temp;
				}
			}
		}
		
		System.out.println("排序后为:");
		for(int i = 0 ; i < perasons.length; i++){
   
			System.out.println(perasons[i]);
		}
		
	}
}

2. 四种访问修饰符及访问权限

私有默认,保护公开
类内同包,子类任何

访问修饰符 类内 同一个包 子类 任何
private
default(默认)
protected
public

package experiments;

public class Teacher {
   
	private String name;
	private int age;
	private String post;
	private double salary;
	
	
	public Teacher(String name, int age, String post, double salary) {
   
		super();
		this.name = name;
		this.age = age;
		this.post = post;
		this.salary = salary;
	}


	public String getName() {
   
		return name;
	}


	public void setName(String name) {
   
		this.name = name;
	}


	public int getAge() {
   
		return age;
	}


	public void setAge(int age) {
   
		this.age = age;
	}


	public String getPost() {
   
		return post;
	}


	public void setPost(String post) {
   
		this.post = post;
	}


	public double getSalary() {
   
		return salary;
	}


	public void setSalary(double salary) {
   
		this.salary = salary;
	}


	public void introduce(){
   
		System.out.println("姓名:" + name +",年龄:"+ age +",职称:"+ post +",基本工资" + salary);
	}
	
	public static void main(String[] args) {
   
		new Teacher("张三", 18, "不知道", 0.2).introduce();
		new Professor("李四", 49, "教授", 1.3).introduce();
		new Professor("jack", 40, "副教授", 1.2).introduce();
		new Professor("ada", 24, "讲师", 1.1).introduce();
	}
}

class Professor extends Teacher{
   
	double salary = 1.3;
	
	public Professor(String name, int age, String post, double salary) {
   
		super(name, age, post, salary);
		this.salary = salary;
	}

	@Override
	public void introduce() {
   
		System.out.println("姓名:" + getName() +",年龄:"+ getAge() +",职称:"+ getPost() +",基本工资" + salary);
	}
	
}

class ViceProfessor extends Teacher{
   
	double salary = 1.2;
	
	public ViceProfessor(String name, int age, String post, double salary) {
   
		super(name, age, post, salary);
		this.salary = salary;
	}

	@Override
	public void introduce() {
   
		System.out.println("姓名:" + getName() +",年龄:"+ getAge() +",职称:"+ getPost() +",基本工资" + salary);
	}
	
}

class Lecturer extends Teacher{
   
	double salary = 1.1;
	
	public Lecturer(String name, int age, String post, double salary) {
   
		super(name, age, post, salary);
		this.salary = salary;
	}

	@Override
	public void introduce() {
   
		System.out.println("姓名:" + getName() +",年龄:"+ getAge() +",职称:"+ getPost() +",基本工资" + salary);
	}	
}

class Employee{
   
	private String name;
	private int salary;
	private int day;
	
	public Employee(String name, int salary, int day) {
   
		super();
		this.name = name;
		this.salary = salary;
		this.day = day;
	}

	public String getName() {
   
		return name;
	}

	public void setName(String name) {
   
		this.name = name;
	}

	public int getSalary() {
   
		return salary;
	}

	public void setSalary(int salary) {
   
		this.salary = salary;
	}

	public int getDay() {
   
		return day;
	}

	public void setDay(int day) {
   
		this.day = day;
	}
	
	public void showInfo(){
   
		double totalSalary = salary * day;
		System.out.println("员工工资为:" + totalSalary);
	}
	
}

class Manager extends Employee{
   
	double grade = 1.2;

	public Manager(String name, int salary, int day, double grade) {
   
		super(name, salary, day);
		this.grade = grade;
	}
	
	@Override
	public void showInfo() {
   
		double totalSalary = getSalary() * getDay() * grade;
		System.out.println("部门经理工资为:" + totalSalary);
	}
}

class OrdinaryEmployee extends Employee{
   
	double grade = 1.0;
	

	public OrdinaryEmployee(String name, int salary, int day, double grade) {
   
		super(name, salary, day);
		this.grade = grade;
	}


	@Override
	public void showInfo() {
   
		double totalSalary = getSalary() * getDay() * grade;
		System.out.println("普通员工工资为:" + totalSalary);
	}
}
public class Test {
   	
	public static void main(String[] args) {
   
		new OrdinaryEmployee("jack", 1, 30, 1.0).showInfo();
		new Manager("ada", 2, 30, 1.2).showInfo();
	}
	
}


package experiments;
class Employee{
   
	private int basicSalary;

	public Employee(int basicSalary) {
   
		super();
		this.basicSalary = basicSalary;
	}

	public int getBasicSalary() {
   
		return basicSalary;
	}

	public void setBasicSalary(int basicSalary) {
   
		this.basicSalary = basicSalary;
	}
	
	public void showSalary(){
   
		System.out.println("工资为:"+ basicSalary * 365);
	}
}

class Worker extends Employee{
   

	public Worker(int basicSalary) {
   
		super(basicSalary);
	}
	public void showSalary() {
   
		System.out.println("工人工资为:"+ getBasicSalary() * 365);
	};
	
}

class Peasant extends Employee{
   

	public Peasant(int basicSalary) {
   
		super(basicSalary);
	}
	public void showSalary() {
   
		System.out.println("农民工资为:"+ getBasicSalary()* 365);
	};
	
}
class Teacher extends Employee{
   
	private int course;

	public Teacher(int basicSalary, int course) {
   
		super(basicSalary);
		this.course = course;
	}
	
	public void showSalary() {
   
		System.out.println("老师工资为:"+ getBasicSalary()* 365 + course * 365);
	};
	
	
}
class Scientist extends Employee{
   
	private int bonus;
	
	public Scientist(int basicSalary, int bonus) {
   
		super(basicSalary);
		this.bonus = bonus;
	}

	public void showSalary() {
   
		System.out.println("科学家工资为:"+ getBasicSalary()* 365 + bonus);
	};
}
class Waiter extends Employee{
   

	public Waiter(int basicSalary) {
   
		super(basicSalary);
	}
	public void showSalary() {
   
		System.out.println("服务生工资为:"+ getBasicSalary()* 365);
	};
	
}
public class Test {
   	
	public static void main(String[] args) {
   
		new Worker(100).showSalary();
		new Peasant(50).showSalary();
		new Teacher(100, 10).showSalary();
		new Scientist(100, 20000).showSalary();
	}
	
}


Grand Father Son
this.name, this.age , this.g1() this.id, this.score, this.f1(), this.name, this.g1() ,super.name, super.g1() this.name., this.g1(),this.show(),this.id,this.f1(), super.name ,super.g1() ,super.id super.f1()

super:调用父类的属性和方法(有访问权限)
this:调用本类和父类的属性和方法(有访问权限)

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务