一、引用类型之间画等号
**引用类型变量之间画等号:**指向同一个对象,通过一个引用对数据的修改会影响另一个引用对于数据的访问
eg:房子钥匙
**基本类型变量之间画等号:**仅仅只做了个赋值操作,对一个变量的修改是不会影响另一个变量的
eg:身份证复印件
二、向上造型
1. 超类型的引用指向派生类的对象
2. 能点出来什么,看引用的类型
class Animal{
}
class Tiger extends Animal{
}
class Lion extends Animal{
}
Animal o1=new Animal();//一个动物对象时动物类型的(动物是动物)
Tiger o2=new Tiger();//老虎是老虎
Animal o3=new Tiger();//一个老虎对象是动物类型的
//超类 指向 派生类 (向上造型)
//o3.只能点出animal类中的
Tiger o4=new Animal();//动物是老虎——语义不通(编译错误)
//继承要符合 is a(是一个)的关系
FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
练习
/*5 FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
void action(){
System.out.println(enemies.length);
}
ex x=new ex();
x.action();*/
/*4 FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
void action(){
System.out.println(enemies.length);
}
ex x=new ex();
x.action();*/
/*3FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
void action(){
System.out.println(enemies.length);
}
ex x=new ex();
x.action();*/
/*2FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
void action(){
System.out.println(enemies.length);
}
ex x=new ex();
x.action();*/
/*1FlyingObject[]enemies;//等价于下面一行代码
FlyingObject[]enemies=null;
FlyingObject[]enemies={};//等价于下面一行代码
FlyingObject[]enemies=new FlyingObject[0];
void action(){
System.out.println(enemies.length);
}
ex x=new ex();
x.action();*/
/*5public class Test {
public static void main(String[] args) {
Student[] stus;
stus=new Student[3];
stus[0]=new Student("zs",25,"lf",111);
stus[1]=new Student("zz",21,"ss",112);
stus[2]=new Student("ss",22,"dd",113);
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayhi();
}
Teacher[]tcs=new Teacher[3];
tcs[0]=new Teacher("sa",54, "kk", 5000);
tcs[1]=new Teacher("ss",33, "aa", 3000);
tcs[2]=new Teacher("saa",44, "ss", 4000);
for(int i=0;i<tcs.length;i++){
System.out.println(tcs[i].name);
tcs[i].sayhi();
}
Doctor[]dts=new Doctor[3];
dts[0]=new Doctor("ss",54, "kk", "s");
dts[1]=new Doctor("sa",33, "aa", "a");
dts[2]=new Doctor("swa",44, "ss", "b");
for(int i=0;i<dts.length;i++){
System.out.println(dts[i].name);
dts[i].sayhi();
}
}
}
class Person{
int age;
String name;
String address;
Person(String name,int age ,String address){
this.address=address;
this.age=age;
this.name=name;
}
void sayhi(){
System.out.println("hi my name:"+name+";age;"+age+";address:"+address);
}
}
class Student extends Person{
int stuid;
Student(String name,int age,String address,int stuid){
super(name,age,address);
this.stuid=stuid;
}
}
class Teacher extends Person{
int slary;
Teacher(String name,int age,String address,int slary){
super(name,age,address);
this.slary=slary;
}
}
class Doctor extends Person{
String leavel;
Doctor(String name,int age,String address,String leavel){
super(name,age,address);
this.leavel=leavel;
}
}*/
/*4 public class Test {
public static void main(String[] args) {
Student[] stus;
stus=new Student[3];
stus[0]=new Student("zs",25,"lf",111);
stus[1]=new Student("zz",21,"ss",112);
stus[2]=new Student("ss",22,"dd",113);
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayhi();
}
Teacher[]tcs=new Teacher[3];
tcs[0]=new Teacher("sa",54, "kk", 5000);
tcs[1]=new Teacher("ss",33, "aa", 3000);
tcs[2]=new Teacher("saa",44, "ss", 4000);
for(int i=0;i<tcs.length;i++){
System.out.println(tcs[i].name);
tcs[i].sayhi();
}
Doctor[]dts=new Doctor[3];
dts[0]=new Doctor("ss",54, "kk", "s");
dts[1]=new Doctor("sa",33, "aa", "a");
dts[2]=new Doctor("swa",44, "ss", "b");
for(int i=0;i<dts.length;i++){
System.out.println(dts[i].name);
dts[i].sayhi();
}
}
}
class Person{
int age;
String name;
String address;
Person(String name,int age ,String address){
this.address=address;
this.age=age;
this.name=name;
}
void sayhi(){
System.out.println("hi my name:"+name+";age;"+age+";address:"+address);
}
}
class Student extends Person{
int stuid;
Student(String name,int age,String address,int stuid){
super(name,age,address);
this.stuid=stuid;
}
}
class Teacher extends Person{
int slary;
Teacher(String name,int age,String address,int slary){
super(name,age,address);
this.slary=slary;
}
}
class Doctor extends Person{
String leavel;
Doctor(String name,int age,String address,String leavel){
super(name,age,address);
this.leavel=leavel;
}
}*/
/*3
public class Test {
public static void main(String[] args) {
Student[] stus;
stus=new Student[3];
stus[0]=new Student("zs",25,"lf",111);
stus[1]=new Student("zz",21,"ss",112);
stus[2]=new Student("ss",22,"dd",113);
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayhi();
}
Teacher[]tcs=new Teacher[3];
tcs[0]=new Teacher("sa",54, "kk", 5000);
tcs[1]=new Teacher("ss",33, "aa", 3000);
tcs[2]=new Teacher("saa",44, "ss", 4000);
for(int i=0;i<tcs.length;i++){
System.out.println(tcs[i].name);
tcs[i].sayhi();
}
Doctor[]dts=new Doctor[3];
dts[0]=new Doctor("ss",54, "kk", 01);
dts[1]=new Doctor("sa",33, "aa", 02);
dts[2]=new Doctor("swa",44, "ss", 03);
for(int i=0;i<dts.length;i++){
System.out.println(dts[i].name);
dts[i].sayhi();
}
}
}
class Person{
int age;
String name;
String address;
Person(String name,int age,String address){
this.name=name;
this.age=age;
this.address=address;
}
void sayhi(){
System.out.println(name+age+address);
}
}
class Student extends Person{
int suit;
Student(String name,int age,String address,int suit){
super(name,age,address);
this.suit=suit;
}
}
class Teacher extends Person{
int slary;
Teacher(String name,int age,String address,int slary){
super(name,age,address);
this.slary=slary;
}
}
class Doctor extends Person{
int leavel;
Doctor(String name,int age,String address,int leavel){
super(name,age,address);
this.leavel=leavel;
}
}*/
/*2
public class Test {
public static void main(String[] args) {
Student[] stus;
stus=new Student[3];
stus[0]=new Student("zs",25,"lf",111);
stus[1]=new Student("zz",21,"ss",112);
stus[2]=new Student("ss",22,"dd",113);
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayhi();
}
Teacher[]tcs=new Teacher[3];
tcs[0]=new Teacher("sa",54, "kk", 5000);
tcs[1]=new Teacher("ss",33, "aa", 3000);
tcs[2]=new Teacher("saa",44, "ss", 4000);
for(int i=0;i<tcs.length;i++){
System.out.println(tcs[i].name);
tcs[i].sayhi();
}
Doctor[]dts=new Doctor[3];
dts[0]=new Doctor("ss",54, "kk", "s");
dts[1]=new Doctor("sa",33, "aa", "a");
dts[2]=new Doctor("swa",44, "ss", "b");
for(int i=0;i<dts.length;i++){
System.out.println(dts[i].name);
dts[i].sayhi();
}
}
}
class Person{
int age;
String name;
String address;
Person(String name,int age,String address){
this.address=address;
this.name=name;
this.age=age;
}
void sayhi(){
System.out.println(name+age+address);
}
}
class Student extends Person{
int suit;
Student(String name,int age,String address,int suit){
super(name,age,address);
this.suit=suit;
}
}
class Teacher extends Person{
int slary;
Teacher(String name,int age,String address,int slary){
super(name,age,address);
this.slary=slary;
}
}
class Doctor extends Person{
String levael;
Doctor(String name,int age,String address,String levael){
super(name,age,address);
this.levael=levael;
}
}*/
/*1
public class Test {
public static void main(String[] args) {
Student[] stus;
stus=new Student[3];
stus[0]=new Student("zs",25,"lf",111);
stus[1]=new Student("zz",21,"ss",112);
stus[2]=new Student("ss",22,"dd",113);
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayhi();
}
Teacher[]tcs=new Teacher[3];
tcs[0]=new Teacher("sa",54, "kk", 5000);
tcs[1]=new Teacher("ss",33, "aa", 3000);
tcs[2]=new Teacher("saa",44, "ss", 4000);
for(int i=0;i<tcs.length;i++){
System.out.println(tcs[i].name);
tcs[i].sayhi();
}
Doctor[]dts=new Doctor[3];
dts[0]=new Doctor("ss",54, "kk", "s");
dts[1]=new Doctor("sa",33, "aa", "a");
dts[2]=new Doctor("swa",44, "ss", "b");
for(int i=0;i<dts.length;i++){
System.out.println(dts[i].name);
dts[i].sayhi();
}
}
}
class Person{
int age;
String name;
String address;
Person(String name,int age,String address){
this.address=address;
this.age=age;
this.name=name;
}
void sayhi(){
System.out.println(name+age+address);
}
}
class Student extends Person{
int nub;
Student(String name,int age,String address,int nub){
super(name,age,address);
this.nub=nub;
}
}
class Doctor extends Person{
String leavel;
Doctor(String name,int age,String address,String leavel){
super(name,age,address);
this.leavel=leavel;
}
}
class Teacher extends Person{
int slary;
Teacher(String name,int age,String address,int slary){
super(name,age,address);
this.slary=slary;
}
}*/
class moo{
int a;
void show(){
}
}
class noo extends moo{
int b;
void test(){
}
}
public class asdasd {
public static void main(String[] args) {
moo o1=new noo();
o1.a=2;
o1.show();
/*5 aoo o2=new boo();
o2.a=3;
o2.show();*/
/*4aoo o3=new boo();
o3.a=4;
o3.show();*/
/*3aoo o4=new boo();
o4.a=5;
o4.show();*/
/*2aoo o5=new boo();
o5.a=6;
o5.show();*/
/*1aoo o6=new boo();
o6.a=7;
o6.show();*/
}
}
/*5 class Aoo{
int a;
void show(){
}
}
class boo{
int b;
void test(){
}
}*/
/*4 class Aoo{
int a;
void show(){
}
}
class boo{
int b;
void test(){
}
}
*/
/*3class Aoo{
int a;
void show(){
}
}
class boo{
int b;
void test(){
}
}
*/
/*2class Aoo{
int a;
void show(){
}
}
class boo{
int b;
void test(){
}
}
*/
/*1class Aoo{
int a;
void show(){
}
}
class boo{
int b;
void test(){
}
}*/
Person[]ps=new Person[7];
ps[0]=new Student("zs",12,"sa","112");
ps[1]=new Student("ls", 13, "asd", "113");
ps[2]=new Student("xc", 14, "vb", "114");
ps[3]=new Teacher("lk", 44, "lki", 7000);
ps[4]=new Teacher("lgy", 66, "sk", 35000);
ps[5]=new Doctor("asd",21,"asd","s");
ps[6]=new Doctor("ss",43,"cv","a");
for(int i=0;i<ps.length;i++){
System.out.println(ps[i].name);
ps[i].sayhi();
}
/*5 Person[]ps=new Person[6];
* ps[0]=new Student("zs",25,"yt","111");
* ps[1]=new Student("ll",23,"rt","112");
* ps[2]=new Teacher("lz",55,"lk",5555);
* ps[3]=new Teacher("ww",44,"jh",6666);
* ps[4]=new Doctor("az",45,"gf","s");
* ps[5]=new Doctor("er",56,"ds","a");
* for(int i=0;i<ps.length;i++){
System.out.println(ps[i].name);
ps[i].sayhi();
}
*/
/*4Person[]ps=new Person[6];
ps[o]=new Student("sa",45,"sa","12212");
ps[1]=new Student("ds",42,"sd","12213");
ps[2]=new Teacher("sda",45,"sa",5000);
ps[3]=new Teacher("saa",45,"sa",6000);
ps[4]=new Doctor("sa",45,"sa","s");
ps[5]=new Doctor("sa",45,"sa","a");
for(int i=0;i<ps.length;i++){
System.out.println(ps[i].name);
ps[i].sayhi();
}*/
/*3Person[]ps=new Person[3];
ps[0]=new Student("as",32,"sd","212121");
ps[1]=new Teacher("ass",32,"sd",10000);
ps[2]=new Doctor("as",45,"we","a");
for(int i=0;i<ps.length;i++){
System.out.println(ps[i].name);
ps[i].sayhi();
}*/
/*2 Person[]ps=new Person[3];
ps[0]=new Student("ew",32,"sd","455412");
ps[1]=new Teacher("ares",32,"gd",12000);
ps[2]=new Doctor("afd",45,"wf","s");
for(int i=0;i<ps.length;i++){
System.out.println(ps[i].name);
ps[i].sayhi();
}*/
/*1 Person[]ps=new Person[3];
* ps[0]=new Student("SA",45,"sda","212121"0;
* ps[1]=new Doctor("DF",12,"asd","a");
* ps[2]=new Teacher("zxc",21,"SAd",544554);
* for(int i=0;i<ps.length;i++){
* System.out.println(ps[i].length);
* ps[i].sayhi();
* }
*/