以下是今天所学内容:1构造器调用时的内存分析2多态3封装4接口
package com.Hsoft.testFinal;
public class Animal {
/*extends Object*///父类
String eye;
public void run() {//被重写后在内存中还存在,还可以被调出来,由继承它的子类调出
System.out.println("跑跑");
}
}
class Mammal{
String eye; //在不同的类当中可以定义相同名字的属性;
public void run() {
System.out.println("跑跑");
}
public void eat() {
System.out.println("吃吃");
}
public void taisheng() {
System.out.println("我是胎生");
}
}
class birds extends Animal {
public void run() {//如果animal类中的run方法中定义时加了final,则animal类中的方法将不能被改写;
System.out.println("飞啊飞");//重写animal里面的方法;
}
public void luansheng(){
this.run();
System.out.println("我是胎生");
}
}
package com.Hsoft.testFinal;
public class TestFinal {
public static void main(String[] args){
final int MAX_VALUE=0;
//MAX_VALUE=2000;只能被定义一次;
double D=Math.PI;
}
}package com.Hsoft.testFinal;
public class TestFinal {
public static void main(String[] args){
final int MAX_VALUE=0;
//MAX_VALUE=2000;只能被定义一次;
double D=Math.PI;
}
}
package com.Hsoft.testObject;
public class Testobject {
public static void main(String[] args){
Object obj1=new Object();
Object obj2=new Object();//测试Object类,Object类位于最常用的lang包中;
System.out.println(obj1.toString());
System.out.println(obj1.toString());
System.out.println(obj1==obj2);
System.out.println(obj1.equals(obj2));//测试equals
Mobile m=new Mobile();
System.out.println(m.toString());
}
}
//java.lang.Object1@193c0cf,返回四个字节的哈西马;
package com.Hsoft.this00;
public class test1 {
String name;
int id;
int cellNum;
byte age;
public void study()
{
this.name="张三";//this被称为隐式参数, 可以在其他方法中使用,不可以在主方法总使用;
/*在普通方法中,this是指调用该方法的对象;在构造器中,this是指向正要初始化的对象;this
* 不能用于static方法,所以在main方法中不能采用this;
*/
System.out.println(name+"在学习");
}
public void sayHello(String sname)
{
System.out.println(name+"觉得"+sname+"是猪!");
}
public void idNum( String num)
{
System.out.println(name+"的电话号是"+cellNum);
}
public static void main(String[] args){
test1 t=new test1();
t.name="zhangsan";
System.out.println("name is"+t.name);
}
}
package com.Hsoft.capulation01;
/**
* @author hsoft source里找添加get 和set属性的选项
*
*/
public class Man {
private String name;
private String id;
private int cc;
private static final int MM=100;
private boolean man;
public boolean isMan() {
return man;
}
public void setMan(boolean man) {
this.man = man;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getCc() {
return cc;
}
public void setCc(int cc) {
this.cc = cc;
}
public static int getMm() {
return MM;
}
}package com.Hsoft.capulation01;
/**
* @author hsoft source里找添加get 和set属性的选项
*
*/
public class Man {
private String name;
private String id;
private int cc;
private static final int MM=100;
private boolean man;
public boolean isMan() {
return man;
}
public void setMan(boolean man) {
this.man = man;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getCc() {
return cc;
}
public void setCc(int cc) {
this.cc = cc;
}
public static int getMm() {
return MM;
}
}
package com.Hsoft.capulation01;
public class Test02 {
public static void main(String[] args){
Test1 t=new Test1();
//System.out.println(t.print());Test1中,方法print被定义成为私有的,因此不能够被访问
}
}
package com.Hsoft.capulation01;
/*类的属性的处理。一般情况下属性一般用private,常量或者static变量可以用public(static变量可以被所有变量共享)*/
public class Test1 {
private String str;
public void print(){//defaut 只能限于包之间,public适用于不同包之间
System.out.println(str);
System.out.println("aa");
}
}
class Test {
String mm;
private void print(){
System.out.println();
System.out.println("aa");
}
}
package com.Hsoft.capulation02;
import com.Hsoft.capulation01.Test1;
public class Test03 {
public static void main(String[] args){
Test1 t=new Test1();
t.print();//不同包之间不可以调用
}
}
package com.Hsoft.abstactClass;
public abstract class Animal {
public abstract void run();//抽象类,抽象来不能用于创建实例(对象);
public void eat(){
System.out.println("吃吃吃");//抽象类中可以定义普通方法和普通属性;其中可以不定义任何抽象方法;
run();//重载,因为下面有继承,在子类当中有对run方法进行重写;
}
}
class Cat extends Animal{
public void run() {
System.out.print("猫步小跑");
}
public void eat() {
System.out.print("吃鱼");
}
}
class Dog extends Animal{
public void run() {
System.out.print("颠颠");
}
}package com.Hsoft.abstactClass;
public class Test {
public static void main(String[] args){
//Animal a=new Animal();由于Animal类是抽象类。所以不能够用于创建实例对象;
Cat c=new Cat();
c.run();
}
}