1.如何通过参数化构造函数设置这些属性??
类文件
public class Product{
private String Name;
private String Color;
private int Price;
private int Stock;
private int SKU;
>
我想通过传递参数构造函数的setter设置这些属性,但它没有设置这些属性
public void setName(String Name){
this.Name=Name;
}
public void setColor(String Color){
this.Color=Color;
}
public void setPrice(int Price){
if (Price <= 0){
System.out.println("Price can't be 0 or negative");
}
else{this.Price=Price;
}
}
public void setStock(int Stock){
if(Stock == 0){
System.out.println("Stock not avaible");
}
else{
this.Stock=Stock;
}
}
public void setSKU(int SKU){
if(SKU<6){
System.out.println("Manimum allow quntity is 6");
}
else{
this.SKU=SKU;
}
}
在这里,我想通过toString方法显示属性
public String toString(){
return "\nProduct name: " + this.Name + "\nProduct color: " + this.Color + "\nProduct price: " + this.Price + "\nProduct stock: " + this.Stock + "\nProduct SKU: " + this.SKU;
}
Product(){}
//parametriaz constractor
Product(String Name,String Color,int Price,int Stock,int SKU){
System.out.println("Run");
setName(Name);
setColor(Color);
setPrice(Price);
setStock(Stock);
setSKU(SKU);
toString();
}
}对象文件
为什么我无法通过构造函数设置这些属性??
public class Runnable{public static void main(String[]args){Product p1=新产品(“pc”,“Grey”,5000,10,2);
//This line also give error why??
//p1.Product("pc","Grey",5000,10,2);
}
}
按照惯例,字段名以大小写形式出现。
public class Product {
private String name;
private String color;
private int price;
private int stock;
private int sku;
Product() {
}
//Parameterized constructor
Product(String name, String color, int price, int stock, int sku) {
System.out.println("Run");
this.setName(name);
this.setColor(color);
this.setPrice(price);
this.setStock(stock);
this.setSku(sku);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
if (price <= 0) {
System.out.println("Price can't be 0 or negative");
} else {
this.price = price;
}
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
if(stock == 0){
System.out.println("Stock not avaible");
}
else{
this.stock=stock;
}
}
public int getSku() {
return sku;
}
public void setSku(int sku){
if(sku<6){
System.out.println("Manimum allow quntity is 6");
}
else{
this.sku=sku;
}
}
@Override
public String toString() {
return "Product [color=" + color + ", name=" + name + ", price=" + price + ", sku=" + sku + ", stock=" + stock
+ "]";
}
//Consume
public static void main(String[] args) {
System.out.println("using Constructor only");
Product p = new Product("pc","Grey",5000,10,2); // Right way to call contructor
System.out.println(p); // Prints the object using toString()
//OR
System.out.println(new Product("pc","Grey",5000,10,2));
//OR
System.out.println("using Setters and getters only");
Product p1 = new Product();
p1.setName("pc");
p1.setColor("Grey");
p1.setPrice(5000);
p1.setStock(10);
p1.setSku(2);
System.out.println(p1);
}
}
❯ java Product.java
using Constructor only
Run
Manimum allow quntity is 6
Product [color=Grey, name=pc, price=5000, sku=0, stock=10]
Run
Manimum allow quntity is 6
Product [color=Grey, name=pc, price=5000, sku=0, stock=10]
using Setters and getters only
Manimum allow quntity is 6
Product [color=Grey, name=pc, price=5000, sku=0, stock=10]
当创建Gio controller对象时,可以将配置参数传递给controller,具体传递方式如下所示: var configs = { color: { surface:0xFF0000 } }; var globe = new Gio.controller(container, configs);
我刚开始学习抽象类。 我在一些代码测试中遇到了这个抽象的类问题。我已经被对象是如何启动的难倒了。 在抽象类中可以看到,它的构造函数只持有两个参数--和 其中一个要求是创建类。然而,正如在main(由问题提供)中所看到的,对象由启动,其中缺少和seats值。 我试图编写我的货车类,但是,我无法绕过和的参数,而不改变主类中给定的上下文。我试图在谷歌上搜索更多信息,但找不到任何答案。 有人能好心开导我一
我是新的Android和Java,并试图使基于位置的应用程序。 编辑 我做了一个非常非常简单的测试代码,得到了同样的错误。这是java: 我也犯了同样的错误。以下是我的应用程序级构建中的依赖项。格雷德尔: 原帖 我试图使用ViewModel和LiveData来更新用户位置,因为我知道这是生命周期感知的最佳方式。我有一个默认的地图活动... 一个扩展LiveData以存储用户位置的类。。。 以及一个
问题内容: 这些来自github上的spring amqp示例,位于https://github.com/SpringSource/spring-amqp- samples.git 这些是 什么类型的Java构造函数?它们是吸气剂和吸气剂的捷径吗? 与此相反 问题答案: 这些构造函数被重载以使用调用另一个构造函数。第一个无参数构造函数使用空参数调用第二个。第二呼叫的第三构造(未示出),其必须采取,
JavaScript 中的构造函数和其它语言中的构造函数是不同的。 通过 new 关键字方式调用的函数都被认为是构造函数。 在构造函数内部 - 也就是被调用的函数内 - this 指向新创建的对象 Object。 这个新创建的对象的 prototype 被指向到构造函数的 prototype。 如果被调用的函数没有显式的 return 表达式,则隐式的会返回 this 对象 - 也就是新创建的对象