Java 在android中创建类结构,如glide和毕加索
我想创建如下类结构:Java 在android中创建类结构,如glide和毕加索,java,android,oop,Java,Android,Oop,我想创建如下类结构: Glide.with(context).load("url").into(imageView); 问题:- 我声明所有的方法和必填字段都是静态的,但它不能工作 我尝试使用setter方法,但它只允许一个setter。这个类不允许我使用第二个setter 要求: Slider.setContext(this).setDuration(3000); 我需要类和方法结构,如和库,一些方法是必需的。为此,需要使用生成器模式 public class Slider {
Glide.with(context).load("url").into(imageView);
问题:-
- 我声明所有的方法和必填字段都是静态的,但它不能工作
- 我尝试使用setter方法,但它只允许一个setter。这个类不允许我使用第二个setter
Slider.setContext(this).setDuration(3000);
我需要类和方法结构,如和库,一些方法是必需的。为此,需要使用生成器模式
public class Slider
{
private static Activity context;
private static int Duration = 3000;
private Slider(SliderBuilder builder) {
this.context = builder.context;
this.Duration = builder.Duration;
}
//All getter, and NO setter to provde immutability
public String getContext() {
return context;
}
public String getDuration() {
return Duration;
}
public static SliderBuilder with(Activity context){
return new SliderBuilder(context);
}
public static class SliderBuilder
{
private static Activity context;
private static int Duration = 3000;
public SliderBuilder(Activity context) {
this.context = context;
}
public SliderBuilder duration(int Duration) {
this.Duration = Duration;
return this;
}
//Return the finally constructed Slider object
public Slider build() {
Slider slider = new Slider(this);
validateSliderObject(slider);
return slider;
}
private void validateSliderObject(Slider slider) {
//Do some basic validations to check
}
}
}
更好地解释
编辑
如何使用
为此,需要使用生成器模式
public class Slider
{
private static Activity context;
private static int Duration = 3000;
private Slider(SliderBuilder builder) {
this.context = builder.context;
this.Duration = builder.Duration;
}
//All getter, and NO setter to provde immutability
public String getContext() {
return context;
}
public String getDuration() {
return Duration;
}
public static SliderBuilder with(Activity context){
return new SliderBuilder(context);
}
public static class SliderBuilder
{
private static Activity context;
private static int Duration = 3000;
public SliderBuilder(Activity context) {
this.context = context;
}
public SliderBuilder duration(int Duration) {
this.Duration = Duration;
return this;
}
//Return the finally constructed Slider object
public Slider build() {
Slider slider = new Slider(this);
validateSliderObject(slider);
return slider;
}
private void validateSliderObject(Slider slider) {
//Do some basic validations to check
}
}
}
更好地解释
编辑
如何使用
有什么问题?有代码引用吗?我需要这样的类结构:“Slider.setContext(this).setDuration(3000)”我已经发布了一个答案如果你能告诉你的用例,我们可以引导你更好。声明代码的生成器模式如下:Slider.setContext(this).setDuration(3000)有什么问题?有代码引用吗?我需要这样的类结构:“Slider.setContext(this).setDuration(3000)”我已经发布了一个答案如果你能告诉你的用例,我们可以引导你更好。声明代码的生成器模式如下:Slider.setContext(this).setDuration(3000)如何使用这个类而不使用“new”初始化关键词?@BhautikKeraliya我已经根据要求修改了我的答案。请检查如何声明强制可用方法?@BhautikKeraliya您可以使用
validateSliderObject
方法查看用户是否使用了一些我不理解的方法。如何使用此类而不使用“new”关键字初始化?@BhautikKeraliya我已根据要求修改了我的答案。请检查如何声明强制可用方法?@BhautikKeraliya您可以使用validateSliderObject
方法查看用户是否使用了一些我不理解的方法。
Slider.with(this).duration(3000).build();