定义一个类,类名:Student,变量:ID(private,int),Name(private,String),Age(private,int),
定义方法publicintgetID()获取ID值,定义方法publicStringgetName(),获取Name值,定义方法publicintgetAge(),获取A...
定义方法public int getID()获取ID值,定义方法public String getName(),获取Name值,定义方法public int getAge(),获取Age值;定义构造函数public Student(int id,String name,int age)给ID,Name,Age赋值。使用该类创建三个对象p1(1001,小明,20),p2(1002,小红,21),p3(1003,小黑,19),将这三个对象按ID从大到小排序,按Age从小到大排序,打印输出ID,Name,Age。
展开
2个回答
2017-04-27
展开全部
访问控制修饰符
1)访问控制修饰符可以修饰属性、方法、构造方法、类
2)private:
私有访问权限控制,被private修饰的属性、方法、构造方法、只能在本类的内部调用,外界无法访问
eg: class Teacher {
String name;
int age;
private double
salary;
Teacher(String name, int
age, double salary){
this.name = name;
this.age =age;
this.salary = salary;
}
}
main(){
Teacher teacher = new
Teacher("刘谦",18,10000);//因为new创建对象的过程,是调用Teacher类中的构造方法,通过类内部构造方法来访问private修饰salary
teacher.salary = 300000;
//报错,原因是被private修饰的属性salary,不能在Teacher外界访问。
}
3)public:用public修饰属性或方法,可以被外界任意的访问
总结:一般企业开发中,属性一般用private修饰(为了提供其安全性),方法一般都用public修饰,以方便外界调用。
eg: class Emp{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void getAge(){
return age;
}
}
我们可以通过使用public修饰set/get方法来访问private修饰的属性。
案例:
public class Demo13 {
public static void main(String[] args){
Student2 student = new Student2();
// student.name = student.setName("Jason");
//报错原因是name属性是私有的,外部不能访问
student.setName("Jason");
System.out.println(student.getName());
}
}
class Student2{
private String no;
private String name;
private int age;
private int score;
private String sex;
private String classes;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setNo(String no){
this.no = no;
}
public String getNo(){
return this.no;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setScore(int score){
this.score = score;
}
public int getScore(){
return score;
}
public void setSex(String sex){
this.sex = sex;
}
public String getSex(){
return sex;
}
public void setClasses(String classes){
this.classes = classes;
}
public String getClasses(){
return classes;
}
}
1)访问控制修饰符可以修饰属性、方法、构造方法、类
2)private:
私有访问权限控制,被private修饰的属性、方法、构造方法、只能在本类的内部调用,外界无法访问
eg: class Teacher {
String name;
int age;
private double
salary;
Teacher(String name, int
age, double salary){
this.name = name;
this.age =age;
this.salary = salary;
}
}
main(){
Teacher teacher = new
Teacher("刘谦",18,10000);//因为new创建对象的过程,是调用Teacher类中的构造方法,通过类内部构造方法来访问private修饰salary
teacher.salary = 300000;
//报错,原因是被private修饰的属性salary,不能在Teacher外界访问。
}
3)public:用public修饰属性或方法,可以被外界任意的访问
总结:一般企业开发中,属性一般用private修饰(为了提供其安全性),方法一般都用public修饰,以方便外界调用。
eg: class Emp{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void getAge(){
return age;
}
}
我们可以通过使用public修饰set/get方法来访问private修饰的属性。
案例:
public class Demo13 {
public static void main(String[] args){
Student2 student = new Student2();
// student.name = student.setName("Jason");
//报错原因是name属性是私有的,外部不能访问
student.setName("Jason");
System.out.println(student.getName());
}
}
class Student2{
private String no;
private String name;
private int age;
private int score;
private String sex;
private String classes;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setNo(String no){
this.no = no;
}
public String getNo(){
return this.no;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setScore(int score){
this.score = score;
}
public int getScore(){
return score;
}
public void setSex(String sex){
this.sex = sex;
}
public String getSex(){
return sex;
}
public void setClasses(String classes){
this.classes = classes;
}
public String getClasses(){
return classes;
}
}
展开全部
public class Text1 {
public static void main(String[] args) {
Student p1 = new Student(1001, "小明", 20);
Student p2 = new Student(1002, "小红", 21);
Student p3 = new Student(1003, "小黑", 19);
List<Student> list = new ArrayList<Student>();
list.add(p1);
list.add(p2);
list.add(p3);
Collections.sort(list, new Comparator<Student>() {
/*
* int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
*/
public int compare(Student o1, Student o2) {
// 按照学生的ID进行升序排列
if (o1.getId() > o2.getId()) {
return 1;
}
if (o1.getId() == o2.getId()) {
return 0;
}
return -1;
}
});
write(list);
System.out.println("---------------------");
Collections.sort(list, new Comparator<Student>() {
/*
* int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
*/
public int compare(Student o1, Student o2) {
// 按照学生的年龄进行升序排列
if (o1.getAge() > o2.getAge()) {
return 1;
}
if (o1.getAge() == o2.getAge()) {
return 0;
}
return -1;
}
});
write(list);
}
//打印方法
public static void write(List<Student> list) {
for (Student s : list) {
System.out.println(s.getId() + "\t" + s.getName() + "\t"
+ s.getAge());
}
}
}
//学生类
public class Student {
private int id ;
private String name;
private int age;
//构造方法
public Student(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
//结果
1001 小明 20
1002 小红 21
1003 小黑 19
---------------------
1003 小黑 19
1001 小明 20
1002 小红 21
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询