两段关于this的代码

/*
* 子类未重写父类方法,通过子类对象调用父类方法,父类方法中的this指向父类对象。
*/
public class 关于this的使用1 {

public static void main(String[] args) {
Cat cat = new Cat("橘猫");
System.out.println(cat.getName());
}
}

class Animal{
private String name;

public String getName() {
return this.name; //父类中的方法不能访问子类对象中的属性,并且this指向的也是父类对象
}
}

class Cat extends Animal{
private String name;

public Cat(String name) {
this.name = name;
}

public Cat() { }
}

---------------------------------------------------------------------------

/*
* 子类重写了父类方法之一,通过子类对象调用未重写的父类方法,此父类方法中调用被重写的方法,
* this指向子类对象。
*/

public class 关于this的使用2 {

public static void main(String[] args) {

//People Chinese = new Chinese();
Chinese chinese = new Chinese();
chinese.a();

}

}

class People{

public void a() {
System.out.println("People中的a方法运行");
this.b(); //子类重写了b方法,this指向子类对象
}
public void b() {
System.out.println("People中的b方法运行");
}
}

class Chinese extends People{

public void b() {
System.out.println("Chinese中的b方法运行");

}
}

原文地址:https://www.cnblogs.com/-lyw/p/9780698.html

时间: 2024-08-03 05:01:31

两段关于this的代码的相关文章

两段超简单jquery代码解决iframe自适应高度问题(不用判断浏览器高度)

这里介绍两个超级简单的方法,不用写什么判断浏览器高度.宽度啥的.下面的两种方法自选其一就行了.一个是放在和iframe同页面的,一个是放在test.html页面的.注意别放错了地方.iframe的代码中,注意要写ID,没有ID查找不到<iframe src="test.html" id="main" width="700" height="300" frameborder="0" scrolling=

Crypto另外两段加密解密的代码

第一段代码风格-平铺直叙: import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class prpcrypt(): def __init__(self, key): self.key = key self.mode = AES.MODE_CBC # 加密函数,如果text不是16的倍数[加密文本text必须为16的倍数!],那就补足为16的倍数 def encrypt(self, text)

[javascript]两段 javaScript 代码的逻辑比较

两段 javaScript 代码的逻辑比较: #1 if(tagName.length < 3){    $(this).parent().addClass('active');    tagName.push($(this).text());    tagId.push($(this).attr('label-id')); } else {    Hnb.ui.showError("最多只能选择三个标签");} #2 if(tagName.length > 3){    

python中两段登陆代码的比较

两段登陆代码的比较 第一段 valid_user = 'chuan' valid_passwd = '123' user_input = raw_input("Your username:") passwd = raw_input("Your password:") if user_input == valid_user: if passwd == valid_passwd: print "Welcome %s login to our system!&q

两段检验系统生成的identityHashCode是否重复的代码

前言:承接上一篇hashCode和identityHashCode 的关系,下面的两段简单的程序主要是检验一下系统生成的identityHashCode是否存在重复的情况. 1:可以自由控制生成对象的个数,并且不受测试的类是否重写hashCode()方法的影响 import java.util.HashSet; import java.util.Set; public class CheckSystemIdentity { public static void main(String args[

一致代码段和非一致代码段

最近在自己动手写操作系统,计算机其实是一个非常复杂的系统.其中包含了很多历史性的问题,让人感到生僻难懂.在CSDN上看到一篇关于一致代码段和非一致代码段的文章,非常好,收藏起来. 原文链接:http://blog.csdn.net/feijj2002_/article/details/4597174 之所以出现这个定义是因为系统要安全:内核要和用户程序分开..内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?操作系统就引入了访问特权等级(0-3)的机制.

【从头开始写操作系统系列】一致代码段与非一致代码段

上几篇文章,我们一直在讨论的都是 GDT 相关的一些问题,现在我们知道在系统在从实模式向保护模式跳转时,GDT 是必须要准备的结构.在介绍这一跳转之前,这篇文章我们来介绍两个概念:一致代码段和非一致代码段. 首先,我们先来看几个问题: 一致代码段和非一致代码段是什么? 为什么要有一致代码段和非一致代码段? 系统提供怎样的机制来使用户程序访问内核数据? 程序如何在段与段之间跳转? 接下来,我们将讨论上述这些问题. 特权级 为了更好的理解之后的问题,我们先来讨论一个概念:特权级. 特权级是一种机制来

[ACM] POJ 2479 Maximum sum (动态规划求不相交的两段子段和的最大值)

Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 33363   Accepted: 10330 Description Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below: Your task is to calculate d(A). Input The input consists o

用C语言编写的一段打印菱形的代码

#include <stdio.h> void printShape(int Num) {     int N = Num;     int i, j, k; //用于控制打印     for(i=0; i<N; i++){ //用于打印图形的上半部分         for(j=0; j<N-i -1; j++){ //用于打印左半部分的空格             printf("  "); //两个空格         }         for(k=0