Java题求解
2016-07-09
展开全部
代码大都应该会写,题目会变。重要的是基础理解和思路。
如果这样的题目还写不出来,那就是理解不到位,基础不牢固
基础知识
1.关于类成员
类的成员就2种:
成员变量和成员函数。
成员变量又称属性或者字段(java的API中可以见到),
成员函数又包括构造函数(又称构造方法,构造器)和普通函数(普通方法)
构造函数没有返回类型,函数名与类名必须相同,这是与普通方法的主要区别。
拿第一题来说:
员工 Employee 类:属性+函数(构造函数和普通函数)
属性:姓名name,年龄age,性别sex,一般设置为私有,实际开发也是这样,主要是为了数据的安全,不能随意访问。
属性私有化改变了属性的访问操作方式:如果属性没有私有化,在其它类,如测试类中可以以类名 . 属性直接访问属性;而私有化后,类名 . 属性的访问方式失效,必须提供set,get函数分别来给属性赋值,获取属性值
set函数要传入参数,利用当前类的对象this(注:有了this就可区分同名的形参、属性,有this的是属性)来动态地赋值,赋值后属性在本类内共享,通过get函数返回属性即可获得它的值。
set,get函数是普通函数,为了规范化,命名为setName等形式
2.关于类间的单继承
java类与类之间只支持单继承,可以多层继承.
多层继承通过同一类的继承与被继承等的方式实现:
如 类A: class A extends B
class C extends A
那么类C实现了多层继承。
继承的关键字extends
位置:出现在子类名(前)和父类名(后)之间
有了extends,就有了子类和父类的说法
子类:继承的类
父类:被继承的类
那么继承关系下,子类就拥有(共享)父类的非私有成员(包括属性和方法),也就是可以直接访问操作父类成员。
子类成员的构成:
父类非私有成员(super)+当前子类成员(this)
(非私有成员:父类中public、protected、无访问权限修饰符的成员)
如public Employee{
String name="我是父类";
int age;
char sex;
}
public Manager extends Employee{
String name =“子类属性”;//继承关系下的同名
String position =”经理“;//职位
String annualsalary;//年薪
//构造函数
Manager(){
super();
//this 为当前类对象,子类对象
syso (“当前类name ”:+this.name);
//super为父类对象,继承过来的
syso (“当前类访问父类name ”:+super.name);
//注:当前类访问时,当且仅当父类与子类具有同名成员时须用this,super对成员加以区分
不同名则不需要区分,隐式指定,结果都一样;
}
}
main(){
Manager m=new Manager();
}
运行结果:
当前类name :我是子类
当前类访问父类name :我是父类
如果这样的题目还写不出来,那就是理解不到位,基础不牢固
基础知识
1.关于类成员
类的成员就2种:
成员变量和成员函数。
成员变量又称属性或者字段(java的API中可以见到),
成员函数又包括构造函数(又称构造方法,构造器)和普通函数(普通方法)
构造函数没有返回类型,函数名与类名必须相同,这是与普通方法的主要区别。
拿第一题来说:
员工 Employee 类:属性+函数(构造函数和普通函数)
属性:姓名name,年龄age,性别sex,一般设置为私有,实际开发也是这样,主要是为了数据的安全,不能随意访问。
属性私有化改变了属性的访问操作方式:如果属性没有私有化,在其它类,如测试类中可以以类名 . 属性直接访问属性;而私有化后,类名 . 属性的访问方式失效,必须提供set,get函数分别来给属性赋值,获取属性值
set函数要传入参数,利用当前类的对象this(注:有了this就可区分同名的形参、属性,有this的是属性)来动态地赋值,赋值后属性在本类内共享,通过get函数返回属性即可获得它的值。
set,get函数是普通函数,为了规范化,命名为setName等形式
2.关于类间的单继承
java类与类之间只支持单继承,可以多层继承.
多层继承通过同一类的继承与被继承等的方式实现:
如 类A: class A extends B
class C extends A
那么类C实现了多层继承。
继承的关键字extends
位置:出现在子类名(前)和父类名(后)之间
有了extends,就有了子类和父类的说法
子类:继承的类
父类:被继承的类
那么继承关系下,子类就拥有(共享)父类的非私有成员(包括属性和方法),也就是可以直接访问操作父类成员。
子类成员的构成:
父类非私有成员(super)+当前子类成员(this)
(非私有成员:父类中public、protected、无访问权限修饰符的成员)
如public Employee{
String name="我是父类";
int age;
char sex;
}
public Manager extends Employee{
String name =“子类属性”;//继承关系下的同名
String position =”经理“;//职位
String annualsalary;//年薪
//构造函数
Manager(){
super();
//this 为当前类对象,子类对象
syso (“当前类name ”:+this.name);
//super为父类对象,继承过来的
syso (“当前类访问父类name ”:+super.name);
//注:当前类访问时,当且仅当父类与子类具有同名成员时须用this,super对成员加以区分
不同名则不需要区分,隐式指定,结果都一样;
}
}
main(){
Manager m=new Manager();
}
运行结果:
当前类name :我是子类
当前类访问父类name :我是父类
展开全部
/*员工抽象类*/
public abstract class Employee {
private String name;
private int age;
private int gender;// 1男 0女
/**
* @param name
* @param age
* @param gender
*/
public Employee(String name, int age, int gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
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 int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
}
/*管理工种*/
public class Manager extends Employee {
private String post;
private String annualSalary;
/**
* @param name
* @param age
* @param gender
*/
public Manager(String name, int age, int gender) {
super(name, age, gender);
// TODO Auto-generated constructor stub
}
public String getPost() {
return post;
}
public void setPost(String post) {
this.post = post;
}
public String getAnnualSalary() {
return annualSalary;
}
public void setAnnualSalary(String annualSalary) {
this.annualSalary = annualSalary;
}
}
public class Staff extends Employee {
Staff(String name, int age, int gender) {
super(name, age, gender);
}
private String department;
private double salary;
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
public abstract class Employee {
private String name;
private int age;
private int gender;// 1男 0女
/**
* @param name
* @param age
* @param gender
*/
public Employee(String name, int age, int gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
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 int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
}
/*管理工种*/
public class Manager extends Employee {
private String post;
private String annualSalary;
/**
* @param name
* @param age
* @param gender
*/
public Manager(String name, int age, int gender) {
super(name, age, gender);
// TODO Auto-generated constructor stub
}
public String getPost() {
return post;
}
public void setPost(String post) {
this.post = post;
}
public String getAnnualSalary() {
return annualSalary;
}
public void setAnnualSalary(String annualSalary) {
this.annualSalary = annualSalary;
}
}
public class Staff extends Employee {
Staff(String name, int age, int gender) {
super(name, age, gender);
}
private String department;
private double salary;
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-07-08
展开全部
第一题:
//员工类
public class People {
private String name;
private Integer age;
private boolean gender;
public void showInfo(){
System.out.println("显示名字、年龄、性别:"+this.name+","+this.age+","+this.gender);
}
public People(String name, Integer age, boolean gender) {
super();
this.name = name;
this.age = age;
this.gender = gender;
}
public People() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
}
//管理层类
public class Manager extends People{
private String job;
private Double moneyOfYear;
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Double getMoneyOfYear() {
return moneyOfYear;
}
public void setMoneyOfYear(Double moneyOfYear) {
this.moneyOfYear = moneyOfYear;
}
}
//职员类
public class Emp extends People{
private String dept;
private Double moneyOfMonth;
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public Double getMoneyOfMonth() {
return moneyOfMonth;
}
public void setMoneyOfMonth(Double moneyOfMonth) {
this.moneyOfMonth = moneyOfMonth;
}
}
第二题:题目看不清楚啊= = 麻烦追问打下题目出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面截图看不清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询