JavaCore复习
来源:互联网 发布:telnet端口不通 编辑:程序博客网 时间:2024/06/05 08:31
/*!
* 继承
* Java和C++继承的区别在于
* 1.Java继承的关键字是extends,C++是:
* 2.Java继承只能是公有继承,java没有private,protected继承
* 3.Java继承只能是单继承,多继承采用的方法类似接口实现
*/
import static java.lang.System.*;
/*!
* 上课
* interface的所有方法都是abstract public
* 特别注意::abstract public ,说明实现接口的必须是public,
* 如果是低于public会报降低了访问权限
*/
interface AttendClass{
String getClassName() ;
String getTeacher();
String getClassRoom();
}
/*!
* class没有说明访问权限,默认是friendly
* 只有同一个包内可见,一个java文件中只能拥有一个同名的public类(在顶层)
* 当然嵌套是可以的
* A.java
* public class A{
* public class B{
* }
* }
*
* public class M{} //错误,A中只能有一个public
*/
class Address{
private String city;
private String address;
private String addressNo;
private String province;
public Address(String city, String address, String addressNo, String province){
this.city = city;
this.address = address;
this.addressNo = addressNo;
this.province = province;
}
public String toString(){
return province +"省"+city +"市 "+address+addressNo;
}
public void show(){
out.println(String.valueOf(this));
}
}
/*!
* 参加活动
*/
interface AttendActivities{
String getActivitesName();
String getHostName();
Address getAssemblyPoint();
}
/*!
* 基类,父类
*/
class Person{
enum Sex{
MALE,
FEMALE
}
/*!所有的对象默认值都是null*/
private String name = "";
private int age = 18;
private String id = "";
private Sex sex;
public Person(){
}
public Person(String name, int age, String id, Sex sex){
this.name = name;
this.age = age;
this.id = id;
this.sex = sex;
}
public String getSex(){
return (sex == Sex.MALE) ? "Male" : "Female";
}
/*!
* 测试子类对象调用同名的父类对象函数
* 使用super关键字
*/
public void showyou(){
out.println("姓名:"+name +
" 性别:" + getSex() +
" 年龄:" + age +
" 身份证号:" + id);
}
public void clone(Person other){
this.name = other.name;
this.age = other.age;
this.id = other.id;
this.sex = other.sex;
}
}
/*!
* 派生类,Java中派生类调用基类和python类似,调用super来实现
* 在java中super关键子表征父类对象
* 在java中构造函数互相调用,必须使用this(argument,...)
* 不能跟C++一样直接使用类名称来进行调用
*/
class Student extends Person implements AttendClass, AttendActivities{
private String studentNo;
public Student(String name, int age, String id, Sex sex, String studentNo){
super(name, age, id, sex);
this.studentNo = studentNo;
}
/*!构造函数互调*/
public Student(int studentNo){
this.studentNo = String.valueOf(studentNo);
super.clone(generateNewPerson());
}
private static Person generateNewPerson(){
return new Person("zhangsan", 29, "FSJ93209", Sex.MALE);
}
/*
* 实现AttendClass和AttendActivities的接口
* 接口的实现必须是public的,否则会报错,正在分配更低的权限
*/
public String getClassName() { return "一年级";}
public String getTeacher() {return "老王";}
public String getClassRoom() { return "302";}
/*!
* 实现AttendActivites的接口
*/
public String getActivitesName() { return "爬山";}
public String getHostName() { return "周星驰";}
/*!Java 中所有的对象都要加上new,否则调用的时候会认为是方法,找不到该方法*/
public Address getAssemblyPoint() { return new Address("上海", "虹桥大街", "300号", "上海直辖市");}
/*!
* 重新实现Student自己的showyou
*/
public void showyou(){
super.showyou();
out.println("我的学生号:" + studentNo);
}
public void yourActivities(){
out.println("你要去:" + String.valueOf(getAssemblyPoint()) +
" 招待人:" + getHostName() +
" 活动主题:" + getActivitesName());
}
public void yourAttendClass(){
out.println("你是: " + getClassName() + "学生"+
" 你要去:" + getClassRoom() + "教室上课" +
" 老师是:" + getTeacher());
}
}
public class JavaCore05{
public static void main(String[] args){
Student s = new Student(1001);
//在子类中调用父类的方法
s.showyou();
//调用实现的接口
s.yourActivities();
s.yourAttendClass();
}
}
* 继承
* Java和C++继承的区别在于
* 1.Java继承的关键字是extends,C++是:
* 2.Java继承只能是公有继承,java没有private,protected继承
* 3.Java继承只能是单继承,多继承采用的方法类似接口实现
*/
import static java.lang.System.*;
/*!
* 上课
* interface的所有方法都是abstract public
* 特别注意::abstract public ,说明实现接口的必须是public,
* 如果是低于public会报降低了访问权限
*/
interface AttendClass{
String getClassName() ;
String getTeacher();
String getClassRoom();
}
/*!
* class没有说明访问权限,默认是friendly
* 只有同一个包内可见,一个java文件中只能拥有一个同名的public类(在顶层)
* 当然嵌套是可以的
* A.java
* public class A{
* public class B{
* }
* }
*
* public class M{} //错误,A中只能有一个public
*/
class Address{
private String city;
private String address;
private String addressNo;
private String province;
public Address(String city, String address, String addressNo, String province){
this.city = city;
this.address = address;
this.addressNo = addressNo;
this.province = province;
}
public String toString(){
return province +"省"+city +"市 "+address+addressNo;
}
public void show(){
out.println(String.valueOf(this));
}
}
/*!
* 参加活动
*/
interface AttendActivities{
String getActivitesName();
String getHostName();
Address getAssemblyPoint();
}
/*!
* 基类,父类
*/
class Person{
enum Sex{
MALE,
FEMALE
}
/*!所有的对象默认值都是null*/
private String name = "";
private int age = 18;
private String id = "";
private Sex sex;
public Person(){
}
public Person(String name, int age, String id, Sex sex){
this.name = name;
this.age = age;
this.id = id;
this.sex = sex;
}
public String getSex(){
return (sex == Sex.MALE) ? "Male" : "Female";
}
/*!
* 测试子类对象调用同名的父类对象函数
* 使用super关键字
*/
public void showyou(){
out.println("姓名:"+name +
" 性别:" + getSex() +
" 年龄:" + age +
" 身份证号:" + id);
}
public void clone(Person other){
this.name = other.name;
this.age = other.age;
this.id = other.id;
this.sex = other.sex;
}
}
/*!
* 派生类,Java中派生类调用基类和python类似,调用super来实现
* 在java中super关键子表征父类对象
* 在java中构造函数互相调用,必须使用this(argument,...)
* 不能跟C++一样直接使用类名称来进行调用
*/
class Student extends Person implements AttendClass, AttendActivities{
private String studentNo;
public Student(String name, int age, String id, Sex sex, String studentNo){
super(name, age, id, sex);
this.studentNo = studentNo;
}
/*!构造函数互调*/
public Student(int studentNo){
this.studentNo = String.valueOf(studentNo);
super.clone(generateNewPerson());
}
private static Person generateNewPerson(){
return new Person("zhangsan", 29, "FSJ93209", Sex.MALE);
}
/*
* 实现AttendClass和AttendActivities的接口
* 接口的实现必须是public的,否则会报错,正在分配更低的权限
*/
public String getClassName() { return "一年级";}
public String getTeacher() {return "老王";}
public String getClassRoom() { return "302";}
/*!
* 实现AttendActivites的接口
*/
public String getActivitesName() { return "爬山";}
public String getHostName() { return "周星驰";}
/*!Java 中所有的对象都要加上new,否则调用的时候会认为是方法,找不到该方法*/
public Address getAssemblyPoint() { return new Address("上海", "虹桥大街", "300号", "上海直辖市");}
/*!
* 重新实现Student自己的showyou
*/
public void showyou(){
super.showyou();
out.println("我的学生号:" + studentNo);
}
public void yourActivities(){
out.println("你要去:" + String.valueOf(getAssemblyPoint()) +
" 招待人:" + getHostName() +
" 活动主题:" + getActivitesName());
}
public void yourAttendClass(){
out.println("你是: " + getClassName() + "学生"+
" 你要去:" + getClassRoom() + "教室上课" +
" 老师是:" + getTeacher());
}
}
public class JavaCore05{
public static void main(String[] args){
Student s = new Student(1001);
//在子类中调用父类的方法
s.showyou();
//调用实现的接口
s.yourActivities();
s.yourAttendClass();
}
}
阅读全文
0 0
- JavaCore复习
- javacore
- javacore note
- Javacore分析
- JDT学习之JavaCore
- heapdump/javacore分析工具
- JavaCore文件分析
- IBM WebSphere Javacore分析
- javacore-heapdump分析示例
- JavaCore知识点整理
- JavaCore extends Plugin
- IBM WebSphere Javacore分析
- javacore 序列化&反射
- weblogic中域下的javacore文件
- Heapdump javacore文件分析工具
- Heapdump javacore文件分析工具
- Heapdump javacore文件分析工具
- 如何生成javacore和heapdump
- phpmailer发送邮件出现错误:stream_socket_enable_crypto(): SSL operation failed with code 1.
- spring task(定时器) 使用注解方式
- android 设置Button或者ImageButton的背景透明
- webstorm激活码
- elasticsearch系列(一):创建mapping和插入数据
- JavaCore复习
- 【PAT】【Advanced Level】1065. A+B and C (64bit) (20)
- 使用UltraEdit删除重复的行
- ubuntu 12.04升级14.04后网络连接为灰色,无法选择,不能显示图标
- mac 终端登录阿里云
- NOIP2015运输计划题解报告
- 14个岗位,看完就知道自己在互联网行业该怎么混
- 通过JUnit启动spring加载配置
- XAMPP for LINUX--安装及说明-简单命令