-
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量.
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
查看全部 -
linux相关知识
查看全部 -
抽象类的使用
作用:约束子类必须有哪些方法,但不关注具体实现
查看全部 -
对象多态
引用类型多态
方法多态
查看全部 -
Object类
toString方法 返回的是哈希值 重写 后返回对象的属性
equals方法 比较的是对象的引用是否指向同一块内存地址,返回的是布尔
查看全部 -
package mocoo; //图形抽象类,作为父类 public abstract class Shape { //图形周长 public abstract void circumference(); //图形面积 public abstract void area(); }
package mocoo; //矩形 public class Rectangle extends Shape{ private float length; //矩形的长度 private float wide; //矩形的宽度 //重构构造函数 public Rectangle(float length, float wide){ this.length = length; this.wide = wide; } @Override public void circumference(){ float circ = (float)(length * 2.0 + wide * 2.0); System.out.println("矩形周长:" + circ); } @Override public void area(){ float rect_area = (float)(length * wide); System.out.println("矩形面积:" + rect_area); } }
package mocoo; //圆形 public class Cirecle extends Shape{ private float r;//圆形半径 //重写构造函数 public Cirecle(float r){ this.r = r; } @Override public void circumference(){ float cire = (float) (2 * Math.PI * r); System.out.println("圆形周长:" + cire); } @Override public void area() { float cire_area = (float) (Math.PI * r * r); System.out.println("圆形面积:" + cire_area); } }
package test; import mocoo.*; //测试类 public class TestShape { public static void main(String[] args){ Shape sp_cirecle = new Cirecle(5.2f);//多态,创建父类对象子类实现,便于维护,如工厂模式 Shape sp_rect = new Rectangle(6.0f,4.0f);//多态 sp_cirecle.circumference();//圆形周长 sp_cirecle.area();//圆形面积 sp_rect.circumference();//矩形周长 sp_rect.area();//矩形面积 } }
查看全部 -
接口:
1、接口概念
类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类里必须提供某些方法。
2、接口定义
和类定义不同,定义接口不再使用class关键字,而是使用interface关键字。
接口定义的基本语法:
【修饰符】interface 接口名 【extends 父接口1,父接口2...】
{
零个到多个常量定义...
零个到多个抽象方法的定义...
}
接口就是用来被继承、被实现的,修饰符一般建议用public
3、接口定义
常量:接口中的属性是常量,即使定义时不添加public static final修饰符,系统也会自动加上。
方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract修饰符,系统也会自动加上。
4、使用接口
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承。一个父类,是不够灵活的,通过实现多个接口可以做补充。
接口在使用过程中,还经常与匿名内部类配合使用
匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称
语法格式:
interface i = new Interface(){
public void method(){
System.out.println("匿名内部类实现接口的方式");
}
};
i.method();
查看全部 -
抽象类:
1、语法定义:
抽象类前使用abstract关键字修饰,该类为抽象类
2、应用场景:
a.在某种情况下,父类只是知道其子类应该包含怎样的方法,
但无法准确知道这些子类如何实现这些方法
b.从多个具有相同特性的类中抽象出一个抽象类,以这个抽象类作为子类
的模板,从而避免了子类设计的随意性
3、作用:
限制规定子类必须实现某些方法,但不关注实现细节
4、规则:
a、abstract定义抽象类
b、abstract定义抽象方法,只有声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类中可以包含普通的方法,也可以没有抽象方法
e、抽象类不能直接创建,可以定义引用变量抽象方法没有方法体以分号结束
查看全部 -
toString 默认输出该对象的哈希码,改写一下输出对象的属性
查看全部 -
java是面向对象的编程.视屏里介绍,面向对象是关注的事务或信息.只要客观存在的就是对象,万物皆是对象.
对象在java中可以用类来表示包装,类有属性和方法.是相同属性和方法的一组对象的集合.
类和对象的关系,类是抽象的概念,对象是具体的实体.,类是对象的描述,对象是类的实例.
查看全部 -
类对象和类的对象区别 类对象表示的是对象的属性,比如姓名,年龄,身高 类的对象表示的是对象的属性的值,比如王三,18,178查看全部
-
super关键字
如果显示的调用构造方法,必须在子类的构造方法的第一行
查看全部 -
final的相关信息
查看全部 -
super
查看全部 -
final
查看全部
举报