标签:年龄 int err tostring rename 区域 规则 java程序 数据结构
public:对任何人都是可用的protect:继承的类可以访问以及和private一样的权限default:包访问权限,即在整个包内均可被访问private:除类型创建者和类型的内部方法之外的任何人都不能访问的元素
Student s=new Student();System.out.println(s);//打印对象的时候相当于输出了对象的toString方法System.out.println(s.toString());//类里面没有toString方法会输出什么呢/*** public String toString() {* return getClass().getName() + "@" + Integer.toHexString(hashCode());*/
方法重载:多个方法拥有相同的名字但是参数传递不一样。public class Method {/*** 方法重载* 方法名相同* 方法的参数类型,参数数量不一样* 方法的返回类型可以不相同* 方法的修饰符可以不相同* main方法也可以重载*/public void show() {// TODO Auto-generated method stubSystem.out.println("weIcome");}public void show(String name) {System.out.println("weIcome"+name);}public void show(String name,int age){System.out.println("weIcome"+name+age);}public void print() {// TODO Auto-generated method stubSystem.out.println("无参构造方法");}public void print(int a){System.out.println(a);}public void print(String name,int a){System.out.println("这是什么的名字"+name+a);}public void nosta(){System.out.println("静态方法中不能直接调用非静态方法");}/*** 构造方法* 使用new+构造方法 创建一个新的对象* 构造方法是定义在java类中的一个用来初始化对象的方法* 构造方法与类名相同且没有返回值** 语法* 没有返回值类型 与类名相同 有无参构造方法* public 构造方法名(){* }*/public Method() {// TODO Auto-generated constructor stubSystem.out.println("无参的构造方法");}float screen;float cpu;float mem;public Method(float newScreen,float newCpu,float newMen ){//给成员变量赋值screen=newScreen;cpu=newCpu;mem=newMen;System.out.println("有参数的方法执行了"+screen+cpu+mem);}/** java中的static使用之静态变量* static修饰的成员被称为静态成员或类成员* 它属于整个类所有,而不是某个对象所有* 相当于是所有类都拥有它* 静态成员可以使用类名直接访问* 也可以使用对象名访问* 因为它的特殊性,(建议使用类名访问)*/public static String hobby="imooc";//定义一个静态变量hobbyString name="我是谁我要干嘛";public static void println(){Method me=new Method();System.out.println("欢迎您:主人有什么可以帮助您的::"+hobby);//System.out.println("欢迎您:主人有什么可以帮助您的"+name);//静态方法不能直接调用非静态成员System.out.println("您可能中毒了:需要去:"+me.name);//通过对象来实现这静态方法中调用非静态变量}public static void main(String[] args) {Method me=new Method();//通过无参的构造方法可以创建对象Method met=new Method(5.0f,1.4f,2.0f);//通过有参的构造方法也可以创建对象//当没有指定构方法时,系统会自动添加无参的构造方法//当有指定构造方法时,//无论是有参或者无参的构造方法都不会添加自动添加无参构造方法me.show("这",20);me.print("name", 15);//构造方法重载:和方法重载一样//构造方法不但可以给对象的属性赋值,//还可以保证给对象的属性赋一个合理的值System.out.println("通过类名访问hobby"+Method.hobby);//静态变量可以直接使用类名来访问,无需创建类的对象System.out.println("通过对象名访问hobby"+me.hobby);//使用对象名来访问静态变量me.hobby="我一天不装逼就不舒服";System.out.println("通过类名访问hobby:"+Method.hobby);//再次使用类名访问静态变量,值已被修改Method.println();//使用对象名直接调用me.println();//使用对象名调用方法me.nosta();//静态方法中不能直接调用非静态方法,需要通过对象来访问}}
public class Persons {private int preID;//idprivate String preName;//名字private String prePass;//密码private String ptrEmail;//邮箱private int preAge;//年龄private String preAddress;//地址private String preCity;//现居城市public Persons() {super();// TODO Auto-generated constructor stub}public Persons(int preID, String preName, String prePass, String ptrEmail, int preAge, String preAddress,String preCity) {super();this.preID = preID;this.preName = preName;this.prePass = prePass;this.ptrEmail = ptrEmail;this.preAge = preAge;this.preAddress = preAddress;this.preCity = preCity;}@Overridepublic int hashCode() {// TODO Auto-generated method stubreturn super.hashCode();}@Overridepublic boolean equals(Object obj) {// TODO Auto-generated method stubreturn super.equals(obj);}@Overrideprotected Object clone() throws CloneNotSupportedException {// TODO Auto-generated method stubreturn super.clone();}@Overridepublic String toString() {return "Persons [preID=" + preID + ", preName=" + preName + ", prePass=" + prePass + ", ptrEmail=" + ptrEmail+ ", preAge=" + preAge + ", preAddress=" + preAddress + ", preCity=" + preCity + "]";}@Overrideprotected void finalize() throws Throwable {// TODO Auto-generated method stubsuper.finalize();}public int getPreID() {return preID;}public void setPreID(int preID) {this.preID = preID;}public String getPreName() {return preName;}public void setPreName(String preName) {this.preName = preName;}public String getPrePass() {return prePass;}public void setPrePass(String prePass) {this.prePass = prePass;}public String getPtrEmail() {return ptrEmail;}public void setPtrEmail(String ptrEmail) {this.ptrEmail = ptrEmail;}public int getPreAge() {return preAge;}public void setPreAge(int preAge) {this.preAge = preAge;}public String getPreAddress() {return preAddress;}public void setPreAddress(String preAddress) {this.preAddress = preAddress;}public String getPreCity() {return preCity;}public void setPreCity(String preCity) {this.preCity = preCity;}
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时,会优先调用子类重写的方法语法规则 : 返回值类型 方法名和参数类型都必须要与父类继承的方法相同,才叫做方法重写public class pig extends Animal{public String paolu;public String chihenduo;public void syso() {// TODO Auto-generated method stubSystem.out.println("你是猪");}// public void eat() {//实例方法的重写// // TODO Auto-generated method stub// System.out.println("猪拥有吃很多东西的能力");// }//已经被finalpublic pig(){System.out.println("我要输出什么呢");}// 继承的初始化顺序// 1.初始化父类再初始化子类// 2.先执行初始化对象中属性,再执行构造方法中的初始化// 父类对象=》属性初始化=》构造方法=》// 子类对象=》子类属性的初始化=》构造方法/*** final关键字* 使用final关键字做标示有“最终的”含义* final可以修饰类 方法 属性和变量* final修饰类,则该类不允许被继承* final修饰方法,则标示该方法不能重写* final修饰变量,只能赋值一次* @return*/// final void piga(){}// final void piga(int a){//// }}super关键字:在对象中使用,可以代表父类对象super可以调用父类的属性和方法。super点属性或者方法就行多态:对象的多种形态,同一个行为具有多个不同表现形式,举个栗子:比如你老师,你是不是有高数,英语,java等等老师。引用多态:父类的引用可以指向子本类的对象/子类的对象方法多态:创建本类对象时,调用的为子类的方法。创建子类对象时,调用方法为子类重写的方法或者继承的方法。抽象类: 一个抽象的类,一个类中没有包含足够的信息来描绘一个具体的对象。package demo1;public abstract class abstrtel {/*** 抽象类* 语法定义:* 抽象类前使用abstract关键字修饰,则该类为抽象类* 应用场景:* 某写情况下,某个父类只是知道其子类应该包含怎样的方法,* 但无法准确知道这些子类如何实现这些方法* 抽象类是约束子类必须包含什么样的方法** 从某个具有相同特征的类中抽象出一个抽象类,以这个抽象类* 作为子类的模板,从而避免了子类设计的随意性** 作用:不关注子类的实现,但是限制规定子类必须实现某些方法,* 但是不注意细节** 使用规则:* a.abstract定义抽象类* b.absteact定义抽象方法,只有声明,不需要实现* c.包含抽象方法的类是抽象类* d.抽象类中可以包含普通的方法,也可以没有抽象方法*/public abstract void call();//抽象方法public abstract void message();//
直接引用:直接引用到某块内存空间
注意:除了在加载阶段可以自定义类加载器以外,其它操作都由JVM主导。
标签:年龄 int err tostring rename 区域 规则 java程序 数据结构
原文地址:https://www.cnblogs.com/lw687a/p/9508765.html