‘壹’ java 里边要实现一个抽象方法返回一个父类的私有属性的值怎么写
abstract
class
Figure
{
private
String
shape;
public
Figure(String
shape)
{
this.shape=shape;
}
//这里添加一个get方法,便于子类访问父类的属性
public
String
getShape()
{
return
shape;
}
public
abstract
String
setShape();
}
public
class
A
extends
Figure
{
public
A(String
shape)
{
super(shape);
}
//通过父类的get访问器访问其私有属性
public
String
setShape()
{
return
super.getShape();
}
}
在main方法里面测试:
A
a=new
A("aa");
System.out.println(a.setShape());
‘贰’ java中接口和抽象类以及它们的属性方法都分别可以用什么访问修饰符
【Java接口修饰符是public abstract】
接口就是提供一种统一的”协议”,而接口中的属性也属于“协议”中的成员。它们是公共的,静态的,最终的常量。相当于全局常量。抽象类是不“完全”的类,相当于是接口和具体类的一个中间层。即满足接口的抽象,也满足具体的实现。
接口中不可以定义变量即定义的变量前都要加上final修饰,使之成为常量(没有final修饰的是变量,加上final修饰就会变成常量)。所以接口的属性默认是public static final 常量,且必须赋初值。
【抽象类】
abstract抽象
1、修饰类时为抽象类,即为概念类,不能实例化;
2、修饰的方法为抽象方法,该方法没有方法体,必须由子类实现,若没有实现会报错;
3、子类若为抽象类,则其中的抽象方法可不实现;
注:抽象类可以没有抽象方法,但抽象方法所在的类必须为抽象类
‘叁’ java如何拿到一个抽象类的属性值
直接正常用就可以,但是不能实例化,被继承后必须overrid所有抽象方法
‘肆’ 抽象方法要被override才能使用是吗抽象属性又是怎么使用的呢
抽象方法是没有实现的,相当于一个接口,你需要在子类中把它实现,抽象属性和抽象方法的道理是一样,也需要实现
‘伍’ java 三种访问修饰符各如何使用
public 在任何地方都可访问 protected同包之间可以访问非同包子类可以访问 默认友好类:同包可以访问 private本类可以访问
下面是三大修饰符,你也顺便看看吧
如果一个类中如果有抽象方法,那么这个类必须是抽象类 , 抽象类中未必有抽象方法
抽象类抽象方法 抽象类中可以有抽象方法,也可以有实例方法 抽象方法只能声明,不能实现后面用 ; 结尾
抽象类的子类如果不希望成为抽象类,那么它就必须去实现父类中所有的抽象方法
抽象类允许定义构造方法
抽象类 只能声明引用 , 不能创建对象
抽象方法不能与static 一起使用 , abstract 类中的方法必须在子类中重写 ,并实现多态
Static 只能继承并重写父类中方法 , 但是不能实现多态 .
抽象方法不能与final 一起使用 , final 修饰的方法不能够在子类中覆盖,而抽象方法是必须要求要在子类中覆盖的.
抽象类不能与private一起使用,抽象类中的方法都必须要在子类中重写后实现,而private修饰的方法不能继承,更谈不上重写覆盖
Static
静态的 . 可修饰 : 方法, 成员变量(属性)
静态属性全类共有,由类名调用
静态方法中只能访问非静态的成员(属性+方法);
静态方法可以被覆盖,但是没有多态
静态初始化代码块
在类加载的时候,执行一次
类加载: 1 . 需要的话,先加载父类(可能父类已经加载过 ,这时候就可以不用加载父类了)
2 . 为静态属性分配空间并初始化
3 . 按顺序执行静态初始化代码块
Final
可修饰: 变量(局部变量和成员变量) : 赋值后不能再发生改变
方法 : final 修饰后的方法不能被覆盖 ,但可以继承
类 : final类不能被子类继承
Final修饰属性时候 , 属性此时没有默认值. 此时可以初始化属性值,或者构造方法中赋值
一般情况下常量为 public static , 常量名全部大写
这是我学习时候的笔记,希望对你有所帮助
‘陆’ 怎样在java中定义一个抽象属性
只有抽象类和抽象方法,没有抽象属性,因为这是无意义的;建议你把抽象类搞清楚就明白了
abstract String s = " " 这样是不行嘀,抽象的修饰符只能修饰类和方法
‘柒’ 抽象类的访问声明
abstract类中的方法不可以是private,因为它要被子类重写啊,你弄成private怎么重写呢?
‘捌’ 抽象类调用属性怎麽调用
public static
是的,因为抽象的接口就是大家共同的外部特性
‘玖’ java中如何理解抽象属性(abstract)
抽象类不一定要有抽象方法 有抽象方法的类 一定是抽象类
abstract可以用来要求子类必须实现该方法
称为子类责任
这也就是抽象的实际意义
‘拾’ 抽象方法能不能直接调用
抽象方法是不能调用的,原因就是抽象方法没有方法体。
当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。
如果一个类中含有abstract方法,那么这个类必须用abstract来修饰,当然abstract类也可以没有abstract方法。 一个抽象类里面没有一个抽象方法可用来禁止产生这种类的对象。
(10)如何访问抽象方法中的属性扩展阅读:
在interface中所有的方法都是public abstract的,即使你没有申明它是public abstract的。在interface中所有的数据成员都是public static final的,即使你没有申明.但不能是blank final 在编译时候确定的。
在Java,interface的地位和class是一样的。实现interface的类,其interface中所有的方法必须被“实现”,否则这个类成为一个抽象类。Interface可以从多个interface得到继承,但是不能继承类。一个类可以实现多个interface。(摘自CSDN:抽象类,抽象方法和interface,作者:PeakLui)